初步认识XML基础知识
更新时间:2023-10-28在这个示例中,“note”是一个元素,它包含四个子元素(to、from、heading和body),并且这些子元素都包含文本内容。 二、XML的命名空间 在XML中,要使用命名空间来区分元素和属性的名称,以确保它们的唯一性。命名空间是由一个URI(Uniform Resource Identifier)和一个前缀组成的,而前缀是用来简化命名空间URI的名称。下面是一个命名空间的示例:XML示例
<note> <to>小明</to> <from>小红</from> <heading>提醒</heading> <body>明天不要迟到</body> </note>
在这个示例中,命名空间“xs”被定义为URI“http://www.w3.org/2001/XMLSchema”,并且它被使用在元素和属性的名称中。 三、XML的DTD和XSD 在XML中,你可以使用DTD(Document Type Definition)或XSD(XML Schema Definition)来定义文档结构和规则。其中DTD是XML早期的标准,而XSD则是后来推出的一种更加强大和灵活的规范。下面是一个使用XSD的示例:命名空间示例
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="book" type="xs:string"/> </xs:schema>
在这个示例中,XSD规定了一个名为“book”的元素,它包含了三个子元素(title、author和price),并且它们分别被指定了不同的数据类型。 四、XML的解析 在编写XML程序时,你需要对XML文档进行解析才能读取其内容。XML解析器可以将XML文档转换为树结构,并且你可以通过遍历这棵树或使用XPath表达式来访问和操作XML元素和属性。下面是一个使用Python解析XML的示例:XSD示例
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="book"> <xs:complexType> <xs:sequence> <xs:element name="title" type="xs:string"/> <xs:element name="author" type="xs:string"/> <xs:element name="price" type="xs:decimal"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
在这个示例中,我们将一个XML字符串转换为一个Element对象,然后可以使用Element对象的方法来遍历XML文档的元素和属性。我们首先打印了根元素的标签名称,然后通过for循环遍历根元素的子元素并输出它们的标签名称和文本内容。 通过以上的介绍,相信大家已经初步认识了XML的基础知识。需要注意的是,在XML的应用中,更加复杂和丰富的功能仍然需要在实践中不断探索和应用。Python解析XML示例
import xml.etree.ElementTree as ET xml_str = ''' <note> <to>小明</to> <from>小红</from> <heading>提醒</heading> <body>明天不要迟到</body> </note> ''' root = ET.fromstring(xml_str) print(root.tag) for child in root: print(child.tag, child.text)