概述
<span style="font-family:Verdana">XML:Extensible Markup Language(可扩展标记语言)的缩写,是用来定义其它语言的一种元语言,其前身是SGML(Standard Generalized <br>Markup Language,标准通用标记语言)。它没有标签集(tag set),也没有语法规则(grammatical rule),但是它有句法规则(syntax rule)。<br>任何XML文档对任何类型的应用以及正确的解析都必须是良构的(well-formed),即每一个打开的标签都必须有匹配的结束标签,不得<br>含有次序颠倒的标签,并且在语句构成上应符合技术规范的要求。XML文档可以是有效的(valid),但并非一定要求有效。所谓有效文档是指其符合其文档<br>类型定义(DTD)的文档。如果一个文档符合一个模式(schema)的规定,那么这个文档是"模式有效的(schema valid)"。</span>
XML 是一种标记语言,很类似 HTML ,XML 的设计宗旨是传输数据,而非显示数据 ,XML 标签没有被预定义。您需要自行定义标签。 XML 被设计为具有自我描述性。 XML 是 W3C 的推荐标准
XML 用于创建新的 Internet 语言
很多新的 Internet 语言是通过 XML 创建的:
其中的例子包括:
XHTML - 最新的 HTML 版本 ,WSDL - 用于描述可用的 web service ,WAP 和 WML - 用于手持设备的标记语言 ,RSS - 用于 RSS feed 的语言 ,
RDF 和 OWL - 用于描述资源和本体 ,SMIL - 用于描述针针对 web 的多媒体
下面来看一个常用案例:
<bookstore> <book category="COOKING"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="WEB"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore>
可以用如下图来解释:
实体引用
在 XML 中,一些字符拥有特殊的意义。
如果你把字符 "
这样会产生 XML 错误:
<message>if salary < XML的簡介與開發詳解(圖文)000 then</message>
为了避免这个错误,请用实体引用来代替 "
<message>if salary < XML的簡介與開發詳解(圖文)000 then</message>
在 XML 中,有 5 个预定义的实体引用:
XML 命名规则
XML 元素必须遵循以下命名规则:
名称可以含字母、数字以及其他的字符
名称不能以数字或者标点符号开始
名称不能以字符 “xml”(或者 XML、Xml)开始
名称不能包含空格
可使用任何名称,没有保留的字词。
什么是 XMLHttpRequest 对象?
XMLHttpRequest 对象用于在后台与服务器交换数据。
XMLHttpRequest 对象是开发者的梦想,因为您能够:
在不重新加载页面的情况下更新网页
在页面已加载后从服务器请求数据
在页面已加载后从服务器接收数据
在后台向服务器发送数据
所有现代的浏览器都支持 XMLHttpRequest 对象。
创建 XMLHttpRequest 对象
所有现代浏览器 (IE7+、Firefox、Chrome、Safari 以及 Opera) 都内建了 XMLHttpRequest 对象。
通过一行简单的 JavaScript 代码,我们就可以创建 XMLHttpRequest 对象。
创建 XMLHttpRequest 对象的语法:
xmlhttp=new XMLHttpRequest();
为什么使用 XML 编辑器?
当今,XML 是非常重要的技术,并且开发项目正在使用这些基于 XML 的技术:
用 XML Schema 定义 XML 的结构和数据类型
用 XSLT 来转换 XML 数据
用 SOAP 来交换应用程序之间的 XML 数据
用 WSDL 来描述网络服务
用 RDF 来描述网络资源
用 XPath 和 XQuery 来访问 XML 数据
用 SMIL 来定义图形
XSLT
XSLT(eXtensible Stylesheet Language Transformation)是一种用来转换XML文档结构的语言。
XSL的处理过程:
首先是根据XML文档构造源树,然后根据XSL规则将源树转换为结果树,生成结果树后,对其进行解释,格式化为一种适合显示、打印或是播放的格式。
XSLT和CSS的比较:
CSS |
XSLT |
使用简单 |
使用复杂 |
不能排序、添加或删除元素 |
可排序、添加或删除元素 |
不能访问文档除元素外的其它信息 |
能访问其它信息 |
使用内存比较少 |
使用较多内存和处理器能力 |
与XML语法不同 |
语法与XML相同 |
XPath基础
XPath就是一种专门用来在XML文档中定位和查找信息的语言,通过XPath可对XML文档中的元素和属性进行遍历,是高级XML应用的基础 。
XPath主要有四种数据类型:(XML的簡介與開發詳解(圖文))节点集.(2)布尔类型.(3)字符串类型.(4)数值类型
在XPath中,可以将节点划分为七种节点类型:(XML的簡介與開發詳解(圖文))根节点(Root Node).(2)元素节点(Element Nodes).(3)文本节点(Text Nodes).(4)属性节点(Attribute Nodes).(5)命名空间节点(Namespace Nodes).(6)处理指令节点(Processing Instruction Nodes).(7)注释节点(Comment Nodes).
XPath节点关系:(XML的簡介與開發詳解(圖文))父(parent).(2)子(children).(3)同胞(sibling).(4)先辈(ancestor).(5)后代(descendant).
XPath表达式
XPath将XML文档看作由节点构成的层次树,通过编写XPath表达式来定位树中特定的节点
XPath路径表达式:
表达式 |
描述 |
nodename |
选取此节点的所有子节点 |
/ |
从根节点选取,绝对路径,表示当前文档的根节点 |
// |
从任意节点选取,相对路径,表示当前文档所有的节点 |
. |
选取当前节点 |
.. |
选取当前节点的父节点 |
@ |
选取属性 |
例子
<?xml version="XML的簡介與開發詳解(圖文).0" encoding="GB23XML的簡介與開發詳解(圖文)2"?> <bookstore> <book> <title lang="en">RESTful Web Services</title> <price>29.00</price> </book> <book> <title lang="zh">C#编程基础</title> <price>46.00</price> </book> </bookstore>
解析:
bookstore |
选取 bookstore 元素的所有子节点 |
/bookstore |
选取根节点bookstore元素 |
/bookstore/book/price |
选取bookstore元素下所有book元素的所有price元素 |
/bookstore/book/* |
选取/bookstore/book的所有子元素 |
bookstore/book |
选取bookstore元素下所有的book子元素 |
//bookstore |
选取文档中所有的bookstore元素,无论它在什么层次 |
bookstore//book |
选取在bookstore元素下所有的book元素,无论它们位于bookstore之下的什么位置 |
/bookstore/*/price |
选取bookstore的子元素中,包含有price作为子元素的元素 |
//* |
选取文件中的所有元素 |
//@lang |
选取所有名为 lang 的属性 |
谓语表达式:
路径表达式 |
描述 |
/bookstore/book[last()] |
选取属于bookstore子元素的最后一个book元素 |
/bookstore/book[last()-XML的簡介與開發詳解(圖文)] |
选取属于bookstore子元素的倒数第二个book元素 |
/bookstore/book[position() |
选取前两个属于bookstore元素的子元素的book元素 |
//title[@lang] |
选取所有拥有名为lang的属性的title元素 |
//title[@lang="en"] |
选取所有title元素,且这些元素拥有值为 eng 的 lang 属性 |
/bookstore/book[price>XML的簡介與開發詳解(圖文)5.00] |
选取所有bookstore元素的book元素,且其中的price元素的值须大于XML的簡介與開發詳解(圖文)5.00 |
/bookstore/book[price>XML的簡介與開發詳解(圖文)5.00]/title |
选取所有bookstore元素中的book元素的title元素,且其中的price元素的值须大于XML的簡介與開發詳解(圖文)5.00 |
//title[@*] |
选取所有带有属性的 title 元素 |
如果需要选择一个以上的路径,可以在XPath表达式中使用“|”运算符:
路径表达式 |
描述 |
//book/title | //book/price |
选取所有book元素的title和price元素 |
//title | //price |
选取文档中所有的title和price元素 |
/bookstore/book/title | //price |
选取所有属于bookstore元素的book元素的title元素,以及文档中所有的price元素 |
XPath表达式的常用运算符:
运算符 |
描述 |
实例 |
| |
计算两个节点集 |
//book | //cd,返回所有带有 book 和 cd 元素的节点集 |
+ |
加法 |
6 + 4, |
- |
减法 |
6 - 4 |
* |
乘法 |
6 * 4 |
p |
除法 |
8 p 4 |
= |
等于 |
price=XML的簡介與開發詳解(圖文)5 |
!= |
不等于 |
price!=XML的簡介與開發詳解(圖文)5 |
小于 |
price |
|
小于或等于 |
price |
|
> |
大于 |
price>XML的簡介與開發詳解(圖文)5 |
>= |
大于或等于 |
price>=XML的簡介與開發詳解(圖文)5 |
or |
或 |
price=XML的簡介與開發詳解(圖文)5 or price=35 |
and |
与 |
price>XML的簡介與開發詳解(圖文)5 or price |
mod |
计算除法的余数 |
5 mod 2 |
示例
private void buttonXML的簡介與開發詳解(圖文)_Click(object sender, EventArgs e) { XmlDocument doc = new XmlDocument(); doc.Load(@"..\..\CD.xml"); XmlElement root = null; root = doc.DocumentElement; XmlNodeList listNodes = null; listNodes = root.SelectNodes("/bookstore/book/price"); foreach (XmlNode node in listNodes ) { richTextBoxXML的簡介與開發詳解(圖文).Text += node.InnerText + "\n"; } }
结果:
29.00
46.00
以上是XML的簡介與開發詳解(圖文)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

使用XML構建RSSfeed的步驟如下:1.創建根元素並設置版本;2.添加channel元素及其基本信息;3.添加條目(item)元素,包括標題、鏈接和描述;4.轉換XML結構為字符串並輸出。通過這些步驟,你可以從零開始創建一個有效的RSSfeed,並通過添加額外的元素如發布日期和作者信息來增強其功能。

創建RSS文檔的步驟如下:1.使用XML格式編寫,根元素為,包含元素。 2.在內添加、、等元素描述頻道信息。 3.添加元素,每個代表一個內容條目,包含、、、等。 4.可選地添加和元素,豐富內容。 5.確保XML格式正確,使用在線工具驗證,優化性能並保持內容更新。

XML在RSS中的核心作用是提供一種標準化和靈活的數據格式。 1.XML的結構和標記語言特性使其適合數據交換和存儲。 2.RSS利用XML創建標準化格式,方便內容共享。 3.XML在RSS中的應用包括定義feed內容的元素,如標題和發布日期。 4.優勢包括標準化和可擴展性,挑戰包括文件冗長和嚴格語法要求。 5.最佳實踐包括驗證XML有效性、保持簡潔、使用CDATA和定期更新。

rssfeedsarexmldocuments usedforcontentAggregation and distribution.totransformthemintoreadableContent:1)parsethethexmlusinglibrarieslibrariesliblarieslikeparserinparserinpython.2)andledifferentifferentrssssssssssssssssssssssssssssssssssssssssssssssersions andpotentionparsingrorS.3)

JSONFeed是一種基於JSON的RSS替代方案,其優勢在於簡潔性和易用性。 1)JSONFeed使用JSON格式,易於生成和解析。 2)它支持動態生成,適用於現代Web開發。 3)使用JSONFeed可以提升內容管理效率和用戶體驗。

如何構建、驗證和發布RSSfeeds? 1.構建:使用Python腳本生成RSSfeed,包含標題、鏈接、描述和發布日期。 2.驗證:使用FeedValidator.org或Python腳本檢查RSSfeed是否符合RSS2.0標準。 3.發布:將RSS文件上傳到服務器,或使用Flask動態生成並發布RSSfeed。通過這些步驟,你可以有效管理和分享內容。

確保XML/RSSfeeds安全性的方法包括:1.數據驗證,2.加密傳輸,3.訪問控制,4.日誌和監控。這些措施通過網絡安全協議、數據加密算法和訪問控制機制來保護數據的完整性和機密性。

XML是一種標記語言,用於存儲和傳輸數據,RSS是一種基於XML的格式,用於發布頻繁更新的內容。 1)XML通過標籤和屬性描述數據結構,2)RSS定義特定標籤發布和訂閱內容,3)使用Python的xml.etree.ElementTree模塊可以創建和解析XML,4)XPath表達式可查詢XML節點,5)feedparser庫可解析RSSfeed,6)常見錯誤包括標籤不匹配和編碼問題,可用xmllint驗證,7)使用SAX解析器處理大型XML文件可優化性能。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver CS6
視覺化網頁開發工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。