沈阳市网站建设哪里的公司比较好,东营网站建设推广,西安苗木行业网站建设价格,绿色手机网站模板XML 教程 文章目录 XML 文件学习1. XML 概述1.1 什么是 XML#xff1f;1.2 XML 有什么作用#xff1f; 2. XML 基本结构1. 声明2. 元素3. 属性4. 文本5. 注释 3. XML 高级知识3.1 XML 命名空间3.2 XML 架构3.3 XML 工具3.4 XML 技术 4. XML 应用实例 XML 文件学习
XML#…XML 教程 文章目录 XML 文件学习1. XML 概述1.1 什么是 XML1.2 XML 有什么作用 2. XML 基本结构1. 声明2. 元素3. 属性4. 文本5. 注释 3. XML 高级知识3.1 XML 命名空间3.2 XML 架构3.3 XML 工具3.4 XML 技术 4. XML 应用实例 XML 文件学习
XML全称为可扩展标记语言Extensible Markup Language被广泛用于存储和传输数据。在深入研究XML的使用前有必要先了解其基本概念以及常见的应用场景。
1. XML 概述
1.1 什么是 XML
XML 是一种用于存储和传输数据的工具而非编程语言。它主要用于描述数据和文本与HTML类似但XML比HTML更强大因为它允许自定义标签。
1.2 XML 有什么作用
XML 的主要作用是方便数据的共享、传输和平台无关性。例如可以使用XML来在不同的系统之间交换数据包括Internet上的业务数据交换。
2. XML 基本结构
XML可扩展标记语言是一种用于编码文档的标记语言它允许定义各种数据类型包括文本、数字、日期、时间、布尔值等。
以下是一个XML文档的例子
?xml version1.0 encodingUTF-8?
bookstorebook categoryCOOKINGtitle langenEveryday Italian/title authorGiada De Laurentiis/author year2005/year price30.00/price /bookbook categoryCHILDRENtitle langenHarry Potter/title authorJ K. Rowling/author year2005/year price29.99/price /book
/bookstore一个XML文档由以下几个基本部分组成
1. 声明
每个XML文档都以XML声明开始这个声明通常包含XML版本和字符集信息。例如
?xml version1.0 encodingUTF-8?在这个例子中version属性表示XML规范的版本encoding属性表示字符集。
2. 元素
XML元素是XML文档的主体由开始标签、结束标签和包含在其中的内容可能是其他元素、文本或混合内容组成。例如
booktitleThe Lord of the Rings/titleauthorJ. R. R. Tolkien/author
/book在这个例子中book、title和author都是元素。
3. 属性
XML属性为元素提供附加信息出现在开始标签内以名称-值对的形式存在。例如
book id123titleThe Lord of the Rings/titleauthorJ. R. R. Tolkien/author
/book在这个例子中id是book元素的属性其值为123。
4. 文本
XML文本是元素的内容位于开始标签和结束标签之间。例如
titleThe Lord of the Rings/title在这个例子中The Lord of the Rings就是文本。
5. 注释
XML注释用于在XML文档中添加注解注释不会被XML解析器解析。例如
!-- This is a comment --以上就是XML的基本结构。需要注意的是所有的XML元素必须有关闭标签XML标签对大小写敏感且XML文档必须正确嵌套。
3. XML 高级知识
3.1 XML 命名空间
为了避免命名冲突XML支持命名空间的概念。这对于合并两个不同来源的XML文档特别有用。
例如
root xmlns:hhttp://www.w3.org/TR/html4/
xmlns:fhttp://www.w3schools.com/furnitureh:tableh:trh:tdApples/h:tdh:tdBananas/h:td/h:tr
/h:tablef:tablef:nameAfrican Coffee Table/f:namef:width80/f:widthf:length120/f:length
/f:table/root在这个例子中“h”和“f”是分别定义在http://www.w3.org/TR/html4/和http://www.w3schools.com/furniture上的命名空间。
3.2 XML 架构
XML架构是一个XML 应用或语言的定义。最常见的是DTD文档类型定义和XSDXML Schema Definition。
例如下面是一个简单的XSDXML Schema Definition
xs:schema xmlns:xshttp://www.w3.org/2001/XMLSchema
xs:element namenotexs:complexTypexs:sequencexs:element nameto typexs:string/xs:element namefrom typexs:string/xs:element nameheading typexs:string/xs:element namebody typexs:string//xs:sequence/xs:complexType
/xs:element
/xs:schema这个XSD定义了一个元素“note”它包含四个字符串类型的子元素to、from、heading和body。
3.3 XML 工具
有许多可用的XML解析器例如SAX, DOM 等。以及一些工具库如 JAXB, JDOM, Xerces, Xalan, etc.
例如使用Python的xml.etree.ElementTree模块类似于DOM解析XML
import xml.etree.ElementTree as ETdata
bookstorebook categoryCOOKINGtitle langenEveryday Italian/title authorGiada De Laurentiis/author year2005/year price30.00/price /book
/bookstore
root ET.fromstring(data)for book in root.findall(book):title book.find(title).textauthor book.find(author).textprint(title, author)3.4 XML 技术
包括XSLT、XPath、XQuery、SOAP等都是基于XML的技术。
例如下面是一个简单的XSLT样式表它将XML文档转换为HTML
xsl:stylesheet version1.0 xmlns:xslhttp://www.w3.org/1999/XSL/Transform
xsl:template match/htmlbodyh2Bookstore/h2table border1tr bgcolor#9acd32thTitle/ththAuthor/th/trxsl:for-each selectbookstore/booktrtdxsl:value-of selecttitle//tdtdxsl:value-of selectauthor//td/tr/xsl:for-each/table/body/html
/xsl:template
/xsl:stylesheet4. XML 应用实例
假设我们有一个需求需要创建一个XML文档来描述一个图书馆的书籍信息。每本书都有ISBN、标题、作者和出版年份等信息。
基于这个需求我们可以逐步构建如下的XML文档
?xml version1.0 encodingUTF-8?
librarybook isbn978-3-16-148410-0titleThe Lord of the Rings/titleauthorJ. R. R. Tolkien/authoryear1954/year/bookbook isbn978-0-7432-4722-0titleA Brief History of Time/titleauthorStephen Hawking/authoryear1988/year/book!-- 更多的书籍信息... --
/library在这个XML文档中library元素是根元素它包含多个book元素。每个book元素都有一个属性isbn并包含三个子元素title、author和year。
XML是一种非常灵活的数据表示方式可以轻松地添加、删除或修改元素和属性以满足各种需求。例如如果我们需要为每本书添加价格信息只需在book元素内添加一个新的price元素即可。 以上是关于XML的一些基础和高级知识。在深入了解这些内容后可以开始尝试使用XML来存储和传输数据。