20分钟学会什么是XML_XML学习笔记_什么是XML文件_基本的语法规则_怎么解析

XML学习笔记

1.XML是啥
1.1 简介
  • 主要功能:实现程序间的数据传输、配置文件config.xml、存储数据充当小型数据库
  • 规范数据格式,是数据具有结构性
1.2 what is XML?
  • XML:可拓展性标记语言
  • 用于传输和存储数据,而不是展示数据
  • 标签必须自定义
<root>
    <user>董小D</user>
    <age>23</age>
</root>
  • XML和HTML的区别
    • HTML的标签不能自定义、XML的标签可以自定义
    • HTML的语法不严格、XML的语法非常严格
    • HTML用于展示数据、XML用于存储和传输数据
2.语法规则
2.1 基本语法
  • 必须有根结点(仅能有一个)如下为错误案例

    <root>
        <student>尼古拉</student>
    </root>
    
    <root1>
        <student>赵四</student>
    </root1>
    
  • XML头声明可有可无

<?xml version="1.0" encoding="UTF-8"?>
  • 所有的XML元素都必须是成对标签
  • 标签名大小写敏感
  • 标签不能交叉
  • 注释方法
<root>
    <user>董小董</user>
    <!--<age>23</age>-->
</root>
  • 特殊字符需要实体转义字符
    请添加图片描述

  • 标签的名字可以一样

  • 命名空间

    • 造成命名冲突的情况:两个不同文档使用了相同的元素名

    • 通过使用前缀来避免命名冲突

      • 1.定义前缀

        • 命名空间通过元素xmlns属性定义

          xmlns:ns="http://www.dzc.com"
          
        • 方式一:在用到该重名元素的时候再定义其属于的命名空间

          <root>
              <ns:student xmlns:ns="http://www.dzc.com">
              	<stu>董小董</stu>
              </ns:student>
              注:ns是前缀表示一个命名空间  student是重名元素
              <fs:student xmlns:fs="http://www.fzc.com">
                  <stu>冯照成</stu>
              </fs:student>
          </root>
          
        • 方式二:将命名空间定义在根元素中声明

          <root  xmlns:ns="http://www.dzc.com" 
           xmlns:fs="http://www.fzc.com">
              <ns:student>
              	<stu>董小董</stu>
              </ns:student>
              注:ns是前缀表示一个命名空间  student是重名元素
              <fs:student>
                  <stu>冯照成</stu>
              </fs:student>
          </root>
          
  • XML 以 LF 存储换行

2.2 元素属性

属性就是描述标签的一些额外信息

<root>
    <student>
        <user>董小董</user>
        <age>23</age>
    </student>

    <student>
        <user age = "23"> Dong</user>
    </student>
</root>
  • 一个标签可以有多个属性,属性值需要用引号引起来
  • 基本不怎么用,还会增加额外的解析代码
2.3 使用CDATA语法不解析指定文本
<![CDATA[需要不解析的文本内容]]>

例如:
<root>
    <student>
        <user age = "23"> <![CDATA[a>b,c<d]]></user>
    </student>
</root>
  • 特殊字符较多时,使用CDATA语法
  • CDATA不允许嵌套
2.4 XML的DTD和XML Schema
  • DTD和Schema都定义了XML文档的结构,但是XML Schema更加常用。
3.解析XML

[C#操作XML方法详解 - 孤夏 - 博客园 (cnblogs.com)]:

[C++中XML的读写操作 - htj10 - 博客园 (cnblogs.com)]:

4.生活中的XML案例
  • XMLX新闻
<?xml version="1.0" encoding="ISO-8859-1"?>
<nitf>
	<head>
		<title>Colombia Earthquake</title>
	</head>
    
	<body>
		<headline>
			<hl1>143 Dead in Colombia Earthquake</hl1>
		</headline>
		<byline>
			<bytag>By Jared Kotler, Associated Press Writer</bytag>
		</byline>
		<dateline>
			<location>Bogota, Colombia</location>
			<date>Monday January 25 1999 7:28 ET</date>
		</dateline>
	</body>
</nitf>
总结
1.XML主要用于数据交换、共享和存储
2.树状结构
3.现代的所有浏览器都用XML解析器,用于读取和操作XML
4.DOM(Document Object Model)文件对象模型定义了一个访问XML的标准方法
5.XMLHttpRequest对象提供了一个网页加载后与服务器进行通信的功能
6.XML命名空间提供了一种解决元素名称冲突的方法
7.CDATA区域内的文本会被XML解析器忽略

书接下文:学习XML DOM—解析XML文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咖啡与乌龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值