• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-341  評(píng)論-2670  文章-0  trackbacks-0
                為了整理出可以實(shí)現(xiàn)的XPath,我把根DTD相關(guān)的兩個(gè)內(nèi)置函數(shù)去掉了,Microsoft擴(kuò)展的11個(gè)函數(shù)也沒有考慮進(jìn)去。XPath是一門非圖靈完備的、沒有副作用的、弱類型以及很難看的語言,用于把一個(gè)XML的某個(gè)節(jié)點(diǎn)轉(zhuǎn)換成一些節(jié)點(diǎn)。

            Context:上下文。指的是使用指定條件正在搜索的XML路徑的節(jié)點(diǎn)。

            ContextList:被PREDICATE過濾的列表

             

            UNIT

            Name                                                          :節(jié)點(diǎn)的名字必須是Name

            Namespace:*                                            :節(jié)點(diǎn)的namespace必須是Namespace

            *                                                                   :任何節(jié)點(diǎn)

            @Name                                                      :節(jié)點(diǎn)必須是屬性而且名字必須是Name

            @*                                                               :任何屬性

            comment()                                                 :注釋節(jié)點(diǎn)

            node()                                                         :任何節(jié)點(diǎn)

            text()                                                           :文字節(jié)點(diǎn)

            processing-instruction(Name?)           processing-instruction節(jié)點(diǎn),名字必須是Name(可選)

             

            PREDICATE

              XPATH                                                          ContextXPATH非空

              VALUE(<|>|=|<=|>=|!=)VALUE            :比較操作符

              VALUE                                                          :位置是VALUE,從1開始

              PREDICATE(and|or)PREDICATE            :邏輯操作符

              not(PREDICATE)                                        :邏輯操作符

             

            VALUE

              常數(shù)

              VALUE(+|-|*|div|mod)VALUE               :操作符

              (VALUE)                                                       VALUE

              count(XPATH)                                            :數(shù)目

              last()                                                            ContextList的數(shù)目

              local-name(XPATH?)                                :返回沒有namespace的名字,沒參數(shù)則為ContextList

              name(XPATH?)                                          :返回全名,沒參數(shù)則為ContextList

              position()                                                    ContextContextList中的位置

              concat(Str1,Str2[,Str3…])                       :連接字符串

              contains(Big,Small)                                  :返回Big中是否出現(xiàn)Small

              normalize-space(String)                         :將String頭尾的空白去掉,中間的連續(xù)空白使用一個(gè)空格代替

              starts-with(Big,Small)                             :返回Big是否由Small開頭

              string(Object)                                            :類型轉(zhuǎn)換,如果ObjectNodeList則將NodeList變?yōu)?/span>NodeList[1],然后講NodeList所有子節(jié)點(diǎn)的值連接起來

              string-length(String)                                :長度

              substring(String,Start,Length)              :子串

              substring-after(Big,Small)                      :返回Big中位于Small后的部分

              substring-before(Big,Small)                            :返回Big中位于Small之前的部分

              translate(A,B,C)                                       :將A中的所有B[i]換成C[i]B[position()>length(C)]換為空字符串

              boolean(X)                                                  :類型轉(zhuǎn)換,非0true,非空true

              false()                                                          :返回false

              true()                                                           :返回true

              ceiling,floor,round(X)                               :轉(zhuǎn)換浮點(diǎn)

              sum(XPATH)                                                :所有值相加

              number(X)                                                  :類型轉(zhuǎn)換,1true0false,其他類型轉(zhuǎn)string后轉(zhuǎn)number

             

            XPATH

              .                                                                     Context

              ..                                                                   Context的父節(jié)點(diǎn)

              /                                                                    :根節(jié)點(diǎn)

              /UNIT                                                          :根節(jié)點(diǎn)中滿足UNIT的子節(jié)點(diǎn),UNITContext為根節(jié)點(diǎn)

              XPATH /UNIT                                             XPATH中滿足UNIT的子節(jié)點(diǎn),UNITContextNODELIST的其中一項(xiàng)

              //UNIT                                                         :根節(jié)點(diǎn)中滿足UNIT的直接或間接子節(jié)點(diǎn),UNITContext為根節(jié)點(diǎn)

              XPATH //UNIT                                            XPATH中滿足UNIT的直接或間接子節(jié)點(diǎn),UNITContextXPath的其中一項(xiàng)

              (XPATH)                                                        XPATH

              XPATH [PREDICATE]                                 :篩選

              Axis::XPATH

            ancestor                                                 XPATH的直接或間接祖先

            ancestor-or-self                                    ancestorXPath

            attribute                                                 XPATH的所有屬性

            child                                                         XPATH的所有子節(jié)點(diǎn)(包括屬性)

            descendant                                            XPATH的直接或間接子節(jié)點(diǎn)

            descendant-or-self                              descendantXPATH

            following                                                 :所有完全處于XPATH后的節(jié)點(diǎn)

            following-sibling                                   following中與自己處于同一層次的節(jié)點(diǎn)

            preceding                                                        :所有完全處于XPATH之前的節(jié)點(diǎn)

            preceding-sibling                                  preceding中與自己處于同一層次的節(jié)點(diǎn)

            self                                                           XPATH

            parent                                                     XPATH的父節(jié)點(diǎn)

              XPATH|XPATH                                            :并集

             

            優(yōu)先級(jí):

              ()  >  ::  >  []  >  /,//  >  |

            posted on 2008-06-20 01:44 陳梓瀚(vczh) 閱讀(4918) 評(píng)論(1)  編輯 收藏 引用 所屬分類: C++

            評(píng)論:
            # re: 標(biāo)準(zhǔn)XPath語法整理 2008-06-22 07:03 | 影視劇
            XPath真的很好用的  回復(fù)  更多評(píng)論
              
            久久99精品久久久大学生| 91精品国产91久久综合| 久久精品国产亚洲AV香蕉| 无码人妻久久一区二区三区免费丨 | 一级做a爱片久久毛片| 一本久道久久综合狠狠躁AV| 国产99久久精品一区二区| 亚洲国产成人久久一区久久| 久久久久一区二区三区| 欧美日韩久久中文字幕| 精品多毛少妇人妻AV免费久久| 97久久婷婷五月综合色d啪蜜芽| 狠狠人妻久久久久久综合蜜桃| 亚洲精品乱码久久久久66| 亚洲午夜无码久久久久小说| 久久777国产线看观看精品| 麻豆AV一区二区三区久久 | 99久久免费只有精品国产| 久久精品国产99国产精品亚洲| 久久国产午夜精品一区二区三区| 东京热TOKYO综合久久精品 | 狠狠色噜噜狠狠狠狠狠色综合久久| 国产成人久久精品一区二区三区| 久久久久久A亚洲欧洲AV冫| 99久久精品无码一区二区毛片 | 伊人久久大香线蕉综合Av| 婷婷久久精品国产| 久久久久这里只有精品 | 九九热久久免费视频| 久久亚洲精品无码AV红樱桃| 色婷婷综合久久久久中文| 无码AV波多野结衣久久| 国内精品伊人久久久影院 | 国产精品久久久久9999高清| AV狠狠色丁香婷婷综合久久| 精品国产乱码久久久久久1区2区| 人妻无码久久一区二区三区免费| 色综合久久久久久久久五月| 国产精品一久久香蕉国产线看观看| 国产精品美女久久久m| 99久久国产亚洲高清观看2024|