大家好,欢迎来到IT知识分享网。
XML的基本介绍
1.什么是XML
XML(可扩展标记语言)是一种用于描述数据的标记语言。XML文档(也称为XML文件)由标签和展示数据的内容组成。
与HTML不同的是,XML没有预定义标签,而是让用户自己定义标签,从而使得XML可以应用于各种不同的场景和领域。此外,XML并没有像HTML那样被用于Web页面设计,而是被广泛用于表示、传输、存储和交换数据,尤其是在各种数据的互操作性方面。
2.XML的基本结构
- xml第一行一般是一行申明。<?xml version=“1.0” encoding=“UTF-8”>
- xml有且仅有一个跟元素。
- xml的结构类似html文件。
- 针对特殊字符的处理,xml有两种处理方式:实体引用、CDATA标签。
则一个基本的XML结构如下:
<?xml version="1.0" encoding="UTF-8"?> <rootElement attribute="attributeValue"> <childElement> <subElement>Sub element text</subElement> </childElement> <childElement> <subElement>Another sub element text</subElement> </childElement> </rootElement>
特殊字符的处理:实体引用
实体引用就是当你使用特殊字符的时候(比如 > 、< 等字符),破坏了原本xml文档的基本语法结构,从而可以使用其他的特殊字符进行代替的行为。
$gt; 代表 >
$lt; 代表 <
$amp; 代表 &
$apos; 代表 ’
$quot; 代表 “
<rootElement attribute="attributeValue"> <textElement>The <b>bold</b> text in XML</textElement> </rootElement>
特殊字符的处理:CDATA标签
基本逻辑就是,当你遇到不想被xml解析的片段,就使用CDATA标签包裹起来。
语法:<![CDATA[ 内容部分 ]]>
其中内容部分的东西,就不会被xml文档解析。
<rootElement attribute="attributeValue"> <textElement><![CDATA[The <b>bold</b> text in XML]]></textElement> </rootElement>
这样,a标签这一段就不会被xml进行解析。
3.XML语义约束
XML文档,写的规范不规范,需要进行约束,这个约束有两种约束方式,一种是DTD、一种是XML Schema文件。
- (DTD):DTD是一种针对XML文档定义元素和属性等结构的语言,可以用来定义XML文档的元素以及它们的层次结构、属性和实体等,从而约束XML文档的内容和结构。
一个DTD约束文件示例:
<!DOCTYPE webStore [ <!ELEMENT webStore (product*)> <!ELEMENT product (name,price)> <!ELEMENT name (#PCDATA)> <!ELEMENT price (#PCDATA)> <!ATTLIST product id CDATA #REQUIRED> <!ATTLIST price currency CDATA #IMPLIED> ]>
2.XML Schema:
与DTD类似,XMLSchema也是一种用于定义XML文档结构和约束的语言,它提供了许多DTD无法实现的强大功能。XML
Schema使用XML文档定义方式,可以定义元素、属性、数据类型、命名空间等,使得XML文档和数据能够更加精确地进行验证和约束。
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.com/products" xmlns="http://www.example.com/products"> <xs:element name="webStore"> <xs:complexType> <xs:sequence> <xs:element name="product" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="price" type="xs:decimal"/> </xs:sequence> <xs:attribute name="id" type="xs:string" use="required"/> <xs:attribute name="currency" type="xs:string" use="optional"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Xpath表达式
Jaxen
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/150913.html