Rookie

          Headache English

          數(shù)據(jù)加載中……
          XML 學(xué)習(xí)(四) xPath基礎(chǔ)
          一,簡(jiǎn)介:XPath 使用路徑表達(dá)式來(lái)選取 XML 文檔中的節(jié)點(diǎn)或者節(jié)點(diǎn)集,這些路徑表達(dá)式和我們?cè)诔R?guī)的電腦文件系統(tǒng)中看到的表達(dá)式非常相似。XPath 使用路徑表達(dá)式在 XML 文檔中進(jìn)行導(dǎo)航 ;XPath 包含一個(gè)標(biāo)準(zhǔn)函數(shù)庫(kù) ;XPath 是 XSLT 中的主要元素 。
          二,XPath 術(shù)語(yǔ)
          節(jié)點(diǎn)(Node):在 XPath 中,有七種類型的節(jié)點(diǎn):元素、屬性、文本、命名空間、處理指令、注釋以及文檔(根)節(jié)點(diǎn)。XML 文檔是被作為節(jié)點(diǎn)樹(shù)來(lái)對(duì)待的。樹(shù)的根被稱為文檔節(jié)點(diǎn)或者根節(jié)點(diǎn)。

          基本值(或稱原子值,Atomic value):基本值是無(wú)父或無(wú)子的節(jié)點(diǎn)。
          項(xiàng)目(Item):項(xiàng)目是基本值或者節(jié)點(diǎn)。

          節(jié)點(diǎn)關(guān)系
          父(Parent):每個(gè)元素以及屬性都有一個(gè)父,
          子(Children):元素節(jié)點(diǎn)可有零個(gè)、一個(gè)或多個(gè)子,
          同胞(Sibling):擁有相同的父的節(jié)點(diǎn)
          先輩(Ancestor):某節(jié)點(diǎn)的父、父的父,等等,
          后代(Descendant):某個(gè)節(jié)點(diǎn)的子,子的子,等等;

          三,XPath 語(yǔ)法

          XPath 使用路徑表達(dá)式來(lái)選取 XML 文檔中的節(jié)點(diǎn)或節(jié)點(diǎn)集。節(jié)點(diǎn)是通過(guò)沿著路徑 (path) 或者步 (steps) 來(lái)選取的,
          nodename   選取此節(jié)點(diǎn)的所有子節(jié)點(diǎn),
          /        從根節(jié)點(diǎn)選取 ,
          //       從匹配選擇的當(dāng)前節(jié)點(diǎn)選擇文檔中的節(jié)點(diǎn),而不考慮它們的位置 ,
          .        選取當(dāng)前節(jié)點(diǎn) ,
          ..       選取當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn) ,
          @     選取屬性 ,


          謂語(yǔ)(Predicates):謂語(yǔ)用來(lái)查找某個(gè)特定的節(jié)點(diǎn)或者包含某個(gè)指定的值的節(jié)點(diǎn)。謂語(yǔ)被嵌在方括號(hào)中。函數(shù)或者表達(dá)式;

          選取未知節(jié)點(diǎn):XPath 通配符可用來(lái)選取未知的 XML 元素。
          *       匹配任何元素節(jié)點(diǎn)
          @*    匹配任何屬性節(jié)點(diǎn)
          node()  匹配任何類型的節(jié)點(diǎn)

          選取若干路徑:通過(guò)在路徑表達(dá)式中使用“|”運(yùn)算符,您可以選取若干個(gè)路徑。

          四,XPath Axes(坐標(biāo)軸):軸可定義某個(gè)相對(duì)于當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)集。

          ancestor      選取當(dāng)前節(jié)點(diǎn)的所有先輩(父、祖父等)
          ancestor-or-self  選取當(dāng)前節(jié)點(diǎn)的所有先輩(父、祖父等)以及當(dāng)前節(jié)點(diǎn)本身
          attribute     選取當(dāng)前節(jié)點(diǎn)的所有屬性
          child       選取當(dāng)前節(jié)點(diǎn)的所有子元素。
          descendant     選取當(dāng)前節(jié)點(diǎn)的所有后代元素(子、孫等)。
          descendant-or-self 選取當(dāng)前節(jié)點(diǎn)的所有后代元素(子、孫等)以及當(dāng)前節(jié)點(diǎn)本身。
          following     選取文檔中當(dāng)前節(jié)點(diǎn)的結(jié)束標(biāo)簽之后的所有節(jié)點(diǎn)。
          namespace     選取當(dāng)前節(jié)點(diǎn)的所有命名空間節(jié)點(diǎn)
          parent       選取當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)。
          preceding     選取文檔中當(dāng)前節(jié)點(diǎn)的開(kāi)始標(biāo)簽之前的所有節(jié)點(diǎn)。
          preceding-sibling 選取當(dāng)前節(jié)點(diǎn)之前的所有同級(jí)節(jié)點(diǎn)。
          self        選取當(dāng)前節(jié)點(diǎn)。

          步的語(yǔ)法: 軸名稱::節(jié)點(diǎn)測(cè)試[謂語(yǔ)]


          五,XPath 運(yùn)算符:XPath 表達(dá)式可返回節(jié)點(diǎn)集、字符串、邏輯值以及數(shù)字。
          加(+),減(-),乘(*),除(div),等于(=),不等于(!=),大于(>),小于(<),大于等于(>=),小于等于(<=),與(and),或(or),余(mod),

          posted on 2008-01-10 18:57 zhhang920 閱讀(520) 評(píng)論(0)  編輯  收藏 所屬分類: JAVASCRIPT

          主站蜘蛛池模板: 惠安县| 谢通门县| 庄河市| 塔河县| 潞城市| 中牟县| 岳普湖县| 成安县| 宝坻区| 客服| 泽州县| 杭锦旗| 奎屯市| 龙海市| 河曲县| 广河县| 永兴县| 台南市| 日照市| 灵武市| 苍山县| 宁南县| 温宿县| 手游| 三门县| 册亨县| 柯坪县| 武安市| 克东县| 富阳市| 潼南县| 河源市| 佛教| 达拉特旗| 宣化县| 马尔康县| 瑞昌市| 巴林左旗| 玉树县| 邹平县| 天津市|