亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > XML > 正文

XSLT入門之XPath的語法

2024-09-05 20:55:21
字體:
來源:轉載
供稿:網友

XPath是用來幫助XSLT在XML源文檔中查找定位信息的語言,但是有許多朋友們對XPath這個語法并不是非常的了解,那么我們現在就跟隨錯新小編整理的XSLT入門之XPath的語法內容吧。

XPath的語法

我們在前面已經提到過,XPath是用來幫助XSLT在XML源文檔中查找定位信息的語言。在實際使用過程中,XPath和XSLT總是混在一起使用,在上面一章的語法例子中我們已經有使用到XPath的語法,只是沒有明確點出。但W3C將它們分成兩個標準,所以我們也將它們拆成兩章來講解。

4.XPath的語法

4.1 當前位置
4.2 尋址操作
4.3 運算符
4.4 功能函數

4.1 當前位置

當我們使用XSLT處理XML源文檔是,我們用Context來表示當前正在被模板處理的節點位置。比如xsl:template match="/"語句中表示Context在文檔的根(root)節點。我不知道如何準確的翻譯Context這個詞,它類似于C語言里的指針,表示程序當前運行的位置。理解Context對于正確處理XSL模板非常重要,當您的XSL模板輸出的文檔和您想要的不一樣,最先應該分析的就是Context在哪里。
Location Paths是用于設定你想要尋找的Context節點位置。就類似DOS的目錄命令。我們看個例子



其中child::PEOPLE/descendant::PERSON就是XPath語法,這個表達式就是一個Location Paths,代碼說明要顯示所有PEOPLE元素的子元素和所有PERSON元素的子元素。通常我們會采用更簡單的寫法:



我們來解釋path的兩種表示方法:"/"和"http://"。
"/"是表示當前文檔的節點,類似DOS目錄分割符。例如:/PEOPLE表示選擇根節點下的PEOPLE元素;PEOPLE/PERSON表示選擇PEOPLE元素下所有的PESON子元素。
"http://"則表示當前文檔所有的節點。類似查看整個目錄。例如://PEOPLE表示選擇文檔中所有的PEOPLE元素,無論它在什么層次;PEOPLE//PERSON表示在PEOPLE元素下所有的PERSON元素,無論它的層次多深。

4.2 尋址操作

Axis和Predicate是XPath語法中對Location Paths進行定位操作的語法,具體的用法列表如下

Axis語法表
--------------------------------------------------------
表達式 簡寫 說明
--------------------------------------------------------
self . 選擇當前的節點.。
例子 :

代碼表示在當前位置插入當前的節點包含的文本(text)值,
--------------------------------------------------------
parent .. 選擇當前節點的父節點。
--------------------------------------------------------
attribute @ 選擇一個元素的所有屬性。
例子:

選擇PERSON元素的所有屬性.
--------------------------------------------------------
child 選擇當前節點的所有子元素。
--------------------------------------------------------
ancestor 選擇當前節點的所有父元素(包括父元素的父元素,類推)
--------------------------------------------------------

Axis幫助我們選擇當前節點周圍所有的節點,而Predicate則用來定位當前節點內部的元素。表示方法為方括號[]中加表達式:[ Expression ]。具體舉例如下:

PERSON[position()=2]
這句代碼表示尋找第二個"PERSON" 元素

PERSON[starts-with(name, "B")]
這句代碼表示尋找所有名稱以"B"開頭的PERSON元素。

4.3 運算符

這一節介紹XPath的運算符(Expressions),列表如下:
--------------------------------------------------------
運算符 說明
--------------------------------------------------------
and, or 就是普通意義的and, or
--------------------------------------------------------
= 等于
--------------------------------------------------------
!= 不等于
--------------------------------------------------------
>, >= 大于,大于等于
--------------------------------------------------------
<, <= 小于,小于等于。注意:在XSL文件中,<符號要用< 表示
--------------------------------------------------------
+, -, *, div 加減乘除
--------------------------------------------------------
mod 取模
--------------------------------------------------------
| 兩個節點一起計算
--------------------------------------------------------

4.4 功能函數(Functions)

在XPath里有很多功能函數可以幫助我們精確尋找需要的節點。

count()功能
作用:統計計數,返回符合條件的節點的個數。
舉例:


說明:代碼的用途是顯示PERSON元素中姓名屬性值為tom有幾個。

number()功能
作用:將屬性的值中的文本轉換為數值。
舉例:

The number is:


說明:代碼的用途是顯示書的價格。

substring() 功能
語法:substring(value, start, length)
作用:截取字符串。
舉例:


說明:代碼的用途是截取name元素的值,從第一個字母開始顯示到第三個。

sum()功能
作用:求和。
舉例:

Total Price =


說明:代碼的用途是計算所有價格的和。

上面這些功能只是XPath語法中的一部分,還有大量的功能函數沒有介紹,而且目前XPath的語法仍然在不斷發展中。通過這些函數我們可以實現更加復雜的查詢和操作。

看到這里,我們的入門教程就快結束了。通過走馬觀花式的快速學習,希望大家對XSLT應該有了一點基本概念:XSLT是一種轉換XML文檔的語言,它包含兩個過程:轉換和格式化。XSLT的功能比CSS強大得多,它有類似數據查詢的語法。如果您對XSLT感興趣,那么以上的知識是遠遠不夠的,需要查詢更多的資料。阿捷在最后一章附錄為大家提供了主要的XSLT資源。

本文主要介紹的就是XSLT入門之XPath的語法內容,可能您會提出一些不同的觀點,沒關系,給我們留留言,一起探討吧!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品国产精品亚洲| 国产欧美日韩综合精品| 黄色一区二区在线| 欧美精品免费播放| 91精品视频在线免费观看| 68精品国产免费久久久久久婷婷| 国产精品爽黄69天堂a| 精品国产一区二区在线| 91最新国产视频| 欧美视频中文字幕在线| 日韩成人小视频| 午夜精品久久久久久久白皮肤| 成人免费大片黄在线播放| 中文字幕一区二区三区电影| 欧美日韩性视频在线| 91在线免费观看网站| 精品国产乱码久久久久久婷婷| 国产精品久久久久福利| 日韩视频免费看| 欧美性一区二区三区| 亚洲精品99久久久久| 97在线看免费观看视频在线观看| 亚洲色图35p| 国产一区二区三区久久精品| 免费97视频在线精品国自产拍| 亚洲第一福利网站| 久久精品久久久久电影| 亚洲另类激情图| 国产精品18久久久久久麻辣| 九九热99久久久国产盗摄| 国产日本欧美一区二区三区| 欧美成人精品不卡视频在线观看| 91免费精品国偷自产在线| 亚洲午夜未满十八勿入免费观看全集| 大桥未久av一区二区三区| 最近日韩中文字幕中文| 精品国产鲁一鲁一区二区张丽| 亚洲精品成a人在线观看| 欧美精品第一页在线播放| 久久综合伊人77777尤物| 在线视频日本亚洲性| 原创国产精品91| 欧美日韩国产一中文字不卡| 色狠狠av一区二区三区香蕉蜜桃| 日韩电影中文字幕| 色综合视频网站| 国产欧美日韩丝袜精品一区| 亚洲第一男人天堂| 欧美日韩国产二区| 欧美日韩国产中文精品字幕自在自线| 92福利视频午夜1000合集在线观看| 亚洲一区制服诱惑| 欧美激情视频免费观看| 日韩成人激情视频| 亚洲2020天天堂在线观看| 中文字幕日本精品| 欧美中文字幕在线播放| 精品精品国产国产自在线| 一区二区欧美久久| 午夜精品在线视频| 欧美大学生性色视频| 精品呦交小u女在线| 亚洲aⅴ日韩av电影在线观看| 91wwwcom在线观看| 成人写真视频福利网| 欧美国产日韩一区二区| 日韩三级影视基地| 91探花福利精品国产自产在线| 亚洲国产精品成人一区二区| 久久天天躁狠狠躁夜夜躁2014| 国产欧美日韩免费| 国产一区二区三区在线看| 精品国产电影一区| 国产有码一区二区| 久久视频免费观看| 国内精品一区二区三区四区| 欧美在线日韩在线| 久久久噜噜噜久久中文字免| 国产成人欧美在线观看| 91美女高潮出水| 亚洲欧洲成视频免费观看| 亚洲欧美三级伦理| 欧美一级黑人aaaaaaa做受| 欧美性色19p| 一本一本久久a久久精品牛牛影视| 亚洲第一精品电影| 亚洲夜晚福利在线观看| 国产成人亚洲综合青青| 国内成人精品一区| 亚洲欧美一区二区精品久久久| 777777777亚洲妇女| 成人免费网视频| 久久久噜久噜久久综合| 亚洲男人天堂网站| 亚洲国产古装精品网站| 色先锋久久影院av| 欧美精品一本久久男人的天堂| 97在线看免费观看视频在线观看| 国产欧美一区二区三区在线看| 精品亚洲国产成av人片传媒| 91av在线国产| 永久免费精品影视网站| 久久久999精品免费| 日韩在线免费视频观看| 国产日韩精品在线播放| 国产精品久久综合av爱欲tv| 国产精品777| 国产精品久久久久福利| 国产乱肥老妇国产一区二| 亚洲成年网站在线观看| 欧美黑人国产人伦爽爽爽| 欧美国产精品va在线观看| 国产综合色香蕉精品| 国产精品一区电影| 4438全国亚洲精品在线观看视频| 日韩精品亚洲视频| 青草青草久热精品视频在线网站| 中国人与牲禽动交精品| 亚洲欧洲视频在线| 亚洲最大成人网色| 日韩亚洲国产中文字幕| 国产精品丝袜高跟| 久久久久久久久久久免费精品| 久久久久久久久综合| 国产精品羞羞答答| 亚洲图片欧美午夜| 亚洲美女黄色片| www国产亚洲精品久久网站| 亚洲欧美国内爽妇网| 自拍亚洲一区欧美另类| 久久久伊人欧美| 国产精品精品一区二区三区午夜版| 欧美专区中文字幕| 国产精品精品久久久| 国产精品 欧美在线| 国产精品高潮视频| 亚洲一区久久久| 热99精品里视频精品| 久久福利视频导航| 日韩中文在线观看| 精品日韩中文字幕| 久久国内精品一国内精品| 26uuu日韩精品一区二区| 亚洲欧美日本伦理| 久久福利网址导航| 色午夜这里只有精品| 日韩精品中文字幕在线观看| xxxxxxxxx欧美| 久久福利视频导航| 欧美性猛交xxxx富婆弯腰| 欧美精品久久久久久久免费观看| xxxx性欧美| 97在线免费视频| 亚洲色图17p| 日韩av网址在线观看| 国产一区二区三区在线观看网站| 亚洲理论在线a中文字幕| 色99之美女主播在线视频| 日本午夜在线亚洲.国产| 精品欧美aⅴ在线网站| 欧美视频精品一区| 国产精品观看在线亚洲人成网| 国产精品第一视频| 欧美精品在线免费观看|