XML和Json是两种最常用的在网络中数据传输的数据序列化格式,随着时代的变迁,XML序列化用于网络传输也逐渐被Json取代,前几天,单位系统集成开发对接接口时,发现大部分都用的WebService技术,而数据传输序列化都是XML,所以想在此重温一下关于XML的相关知识。 一、什么是XML 1、XML是可扩展标记语言 2、XML宗旨是传输数据,而非显示数据 3、XML没有预定义标签,都需要自行定义标签 4、XML不会做任何事情,他设计出来就是为了结构化、储存和传输信息用的 5、XML是纯文本,有能力处理纯文本的软件,都可以处理XML 二、XML结构 首先我们来看一个简单的XML示例 复制代码 1 2 3 小魔王 4 女神 5 表白 6 我喜欢你好久了 7 复制代码 第一行是XML声明,他定义XML的版本(1.0)和所使用的编码(ISO-8859-1 = Latin-1/西欧字符集)。 下一行描述文档的根元素 接下来的4行描述根元素的4个子元素 to、from、heading、body 最后一行定义根元素的结尾 看上面的结构,我们可以设想一下:这个XML文档包含了 女神 给 小魔王 表白的信息。 这样看来,XML具有出色的自我描述性,同意吗? 三、注意点: 1、XML文档必须包含根元素,该元素是所有其他元素的父元素 2、XML文档中的元素形成了以可文档树,这棵树从根部开始,并扩展到树的最低端,所有元素均可拥有子元素 3、父、子以及同胞等术语用于描述元素之前的关系,父元元素拥有子元素,相同层级上的子元素成为同胞(兄弟或姐妹) 下面我们来个示例: 复制代码 1 2 3 4 Everyday Italian 5 Giada De Laurentiis 6 2005 7 30.00 8 9 10 Harry Potter 11 J K. Rowling 12 2005 13 29.99 14 15 16 Learning XML 17 Erik T. Ray 18 2003 19 39.95 20 21 复制代码 示例图解: 例子中的根元素是,文档中的所有元素有被包含在中。 元素有4个子元素:、<author>、<year>、<price> 4、所有元素均可拥有文本内容和属性(类似HTML中) 5、所有XML元素又必须有关闭标签(注:XML声明没有关闭标签这不是错误,声明不属于XML本身的组成部分,他不是XML元素,也不需要关闭标签) 6、XML标签对大小写敏感,即<Letter>与<letter>是两个不同的标签 7、XML的属性值必须加引号(无论数字还是非数字)。 8、XML中,空格会被保留(与HTML不同) 四、实体引用 在XML中,一些字符拥有特殊的意义。 比如”<“ ,如果你将字符”<“放到XML元素中,会发生错误,这是一因为解析器会把它当作新元素的开始,例如: <age>19<20</age> 为了避免这个错误,请用实体引用来代替”<“字符: <age>19<20</age> 在XML中,有5个预定义的实体引用,如下: 注:在XML中,只有字符”<“,”&“ 是非法的,">"是合法的,但是用实体引用来代替它是一个好习惯。 XML还有一些高级的用法,比如命名空间、CDATA 等等,我们将会在下次进行分享~ 努力,不是为了要感动谁,也不是要做给哪个人看,而是要让自己随时有能力跳出自己厌恶的圈子,并拥有选择的权利。记住,用自己喜欢的方式过一生。 分类: C#基础 好文要顶 关注我 收藏该文 萌萌丶小魔王 关注 - 16 粉丝 - 82 +加关注 0 0 « 上一篇: 浅谈TCP协议,总算明白它是干什么的了 posted @ 2019-09-11 13:35 萌萌丶小魔王 阅读(98) 评论(0) 编辑 收藏 https://www.cnblogs.com/xiaomowang/p/11504426.html </div> <div class="post-tags"> </div> </article> </div> </div> </div> <div class="container-fluid footer"> <div class="row"> <div class="col"> <h3><a href="http://www.ruanjianpeixun.net">青岛软件培训</a></h3> <h4>选择一家好的青岛软件培训学校,就要看教学质量和口碑</h4> 万码学堂-做最负责任的教育-联系电话0532-85025005<p><a href="https://beian.miit.gov.cn/" target="_blank">鲁ICP备09077726号-3</a></p> </div> </div> </div> <!-- Optional JavaScript --> <!-- jQuery first, then Popper.js, then Bootstrap JS --> <script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.0/dist/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script> </body> </html> <script src="http://online.newsite.wanmait.com:80/service/js/1.js"></script> <script src="https://www.wanmait.com/online/wmonline.js?site=3"></script>