XML 语法

        一个 XML 文件可以嵌套很多内容,例如文档声明、元素定义、属性定义、注释等等,这些内容的编写都需要遵循一定的语法规范,下面对这些内容的语法进行详细讲解。

        1.文档声明:

        在一个完整的 XML 文档中,必须包含一个 XML 文档的声明,并且该声明必须位于文档的第一行。XML 声明表示该文档是一个 XML 文档,以此判断需要遵循哪个 XML 版本的规范。

        XML 文档声明的语法格式如下:

<?xml version="version" encoding="value" standlone="value">

        这是我创建Web模块,idea自动生成的XML文档:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
</web-app>

        从上述语法格式可以看出,文档声明以符号 “<?” 开头,以符号 “?>” 结束,中间可以声明版本信息、编码信息和文档独立信息。下面对 XML 声明中的参数进行介绍:

        (1)version: 用于指定村寻 XML 规范的版本号。在 XML 声明中必须包含 version 属性,且该属性必须放在 XML 声明中其他属性之前。

        (2)encoding:用于指定 XML 文档所使用的编码集。常用的编码集有 GBK、GB2312、BIG5、ISO-8859-1 和 UTF-8 。

        (3)standalone: 用于指定该 XML 文档是否与一个外部文档嵌套使用,取值为 yes 或 no。如果设置属性值为 yes,说明是一个独立的 XML 文档,与外部文档无关联;如果设置属性值为 NO ,说明 XML 文档不独立。

        注意:在 “<” 和 “?” 之间、“?” 和 “>” 之间以及第一个 “?” 和 xml 之间不能有空格。另外,在 XML 声明中,encoding 和 standalone 是可选的,只有 version 是强制声明

        2.元素定义:

        XML 文档中的主体内容都是由元素(element)组成的,元素是以树状分层结构排列的,一个元素可以嵌套在另一个元素中。XML 文档中有且仅有一个顶层元素,称为文档元素或根元素。元素一般由开始标签、元素内容和结束标签构成,例如:

<中国>
    <陕西省>
        <城市>西安市</城市>
    </陕西省>
</中国>

        上述例子中,“<城市>” 和 “</城市>” 就是 XML 文档中的标签,标签的名称也就是元素的名称。在一个元素中可以嵌套若干子元素

        如果一个元素没有嵌套在其他元素内,则这个元素被称为根元素。根元素是 XML 文档定义的第一个元素。

        如果一个元素没有嵌套子元素,也没有嵌套文本内容,则这样的元素称为空元素。空元素可以不适用结束标签,但是必须在其实标签的 “>” 前面增加一个正斜杠 “ / ” 说明该元素是一个空元素,例如:<img></img> 可以简写成 <img/> 。

        3.属性定义:

        在 XML 文档中,可以为元素定义属性。属性是对元素的进一步描述和说明,在一个元素中,可以自定义多个属性,属性是依附于元素存在的,并且每个属性都有自己的名称和取值,例如:

<售价 单位="元">100</售价>

         在示例中,<售价>元素中定义了一个属性 “单位” ,属性值为 “元”。需要注意的是,在 XML 文件中,属性的命名规范于元素相同,属性值必须要加上双引号(" ")或者单引号 (' ') ,否则会被视为错误。

        4.注释:

         注释是为了便于阅读和理解,会在 XML 文档中插入的一些附加信息,例如作者姓名、地址或者电话等等。这些信息是对文档结构或文档内容的解释,不属于 XML 文档的内容,因此 XML 解析器不会处理注释内容。

        <!-- 注释信息 -->

### 学习 XML 语法 #### 定义与特性 XML(可扩展标记语言)是一种用于传输和存储数据的简单格式。它具有良好的可扩展性,能够实现内容与形式的有效分离,并严格遵循语法要求[^3]。 #### 正规 XML 文档的要求 为了使 XML 文档成为格式正规文档,需满足特定条件: - **声明语句**:每份 XML 文件应以 `<?xml version="1.0" encoding="UTF-8"?>` 开始来指定版本号以及字符编码方式。 - **唯一根元素**:整个文档必须包含在一个唯一的顶级标签之内;此标签被称为根节点。 - **大小写敏感**:所有的标签名称都是区分大小写的。 - **属性值加引号**:当定义带有属性的标签时,这些属性应当被双引号包围起来表示其值。 - **闭合所有标签**:对于每一个开启状态下的起始标签 `<tag>` 都应该存在相应的结束标签 `</tag>` 或者采用自封闭的形式如 `<br />`. - **正确嵌套子元素**:内部层次结构中的各个组件要按照正确的顺序排列并相互匹配[^2]. #### 实际应用案例 在实际开发过程中,可以利用专门工具或者库函数解析处理 XML 数据流。例如,在浏览器环境中可以通过内置 API 将 XML 转换成易于操作的数据模型——DOM对象树形结构,进而借助 JavaScript 进行各种交互逻辑的设计[^1]。 此外,一些新兴技术也采用了基于 XML 的解决方案,比如 xml-agent 提供了一个创新性的框架让开发者构建支持 XML 协议交流的人工智能代理程序,适用于多种场合下生成标准化的消息体或是执行复杂的业务流程控制任务[^4]。 ```javascript // 使用JavaScript获取XML文件的内容 function loadXMLDoc(filename){ var xmlDoc; if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); }else{// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open("GET",filename,false); xmlhttp.send(); xmlDoc=xmlhttp.responseXML; document.getElementById("myDiv").innerHTML= xmlDoc.getElementsByTagName("TITLE")[0].childNodes[0].nodeValue; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值