日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

XPath学习:轴(13)——namespace

發布時間:2025/7/25 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 XPath学习:轴(13)——namespace 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

???? XPath 是一門在 XML 文檔中查找信息的語言。XPath 可用來在 XML 文檔中對元素和屬性進行遍歷。

???? XPath 是 W3C XSLT 標準的主要元素,并且 XQuery 和 XPointer 同時被構建于 XPath 表達之上。

???? 推薦一個挺不錯的網站:http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html? 里面有很不錯的例子,下面的例子中紅色字體表示使用對 應語法獲取的元素(或屬性)。

???? XPath軸(XPath Axes)可定義某個相對于當前節點的節點集:

???? 1、child? 選取當前節點的所有子元素

???? 2、parent? 選取當前節點的父節點

???? 3、descendant 選取當前節點的所有后代元素(子、孫等)

???? 4、ancestor? 選取當前節點的所有先輩(父、祖父等)

???? 5、descendant-or-self 選取當前節點的所有后代元素(子、孫等)以及當前節點本身

???? 6、ancestor-or-self? 選取當前節點的所有先輩(父、祖父等)以及當前節點本身

???? 7、preceding-sibling 選取當前節點之前的所有同級節點

???? 8、following-sibling 選取當前節點之后的所有同級節點

???? 9、preceding?? 選取文檔中當前節點的開始標簽之前的所有節點

???? 10、following ? 選取文檔中當前節點的結束標簽之后的所有節點

???? 11、self 選取當前節點

???? 12、attribute? 選取當前節點的所有屬性

???? 13、namespace 選取當前節點的所有命名空間節點

?

名稱空間軸用來選取名稱空間結點。每個元素結點都有一個專門名稱空間結點表示每個作用域名稱空間。

分析下面的XML源文檔(xmmlBook.xml):

<xmml:Book xmlns:xmml="http://www.XMML.com/namespaces">

<xmml:Chapter number="1">Some text.</xmml:Chapter>

<xmml:Chapter number="2">Some more text.</xmml:Chapter>

</xmml:Book>

為了說明xmml:Book元素結點的名稱空間結點,需要使用下面的樣式表(xmmlBook.xslt):

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

xmlns:xmml="http://www.XMML.com/namespaces" >

<xsl:template match="/">

<html>

<head>

<title>This shows namespace nodes.</title>

</head>

<body>

<h3>Namespace nodes of the xmml:Book element.</h3>

<xsl:apply-templates select="/xmml:Book" />

</body>

</html>

</xsl:template>

<xsl:template match="xmml:Book">

<xsl:for-each select="namespace::node()">

<p><xsl:value-of select="position()" />. The namespace prefix

<b><xsl:value-of select="name(.)" /></b> has the namespace URI <b><xsl:value-of

select="." /></b>. </p>

</xsl:for-each>

</xsl:template>

</xsl:stylesheet>

注意名稱空間聲明,在xmml:Book元素上使用了xmml名稱空間前綴,如下所示:

<xmml:Book xmlns:xmml="http://www.XMML.com/namespaces">

正如圖7-4所示,xmml:Book元素結點有兩個名稱空間。其中一個名稱空間結點是http://www.XMML.com/namespaces的URI,這并不令我們感到意外,因為這已經在名稱空間聲明中很清楚地表示出來。但是,另一個名稱空間結點是http://www.w3.org/XML/1998/ namespace的URI,這有一點出乎我們的意料。之所以有這個名稱空間結點,是因為所有的XML元素結點都有一個與此URI對應的名稱空間。記住,在任何XML元素上都可以使用xml:lang和xml:space屬性,因此必須聲明xml名稱空間。對于本例的情形,所有的XML處理器都自帶了名稱空間聲明。

轉載于:https://www.cnblogs.com/zhaozhan/archive/2009/09/10/1564367.html

總結

以上是生活随笔為你收集整理的XPath学习:轴(13)——namespace的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。