<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    泰仔在線

    java學習,心情日記,繽紛時刻
    posts - 100, comments - 34, trackbacks - 0, articles - 0

    XPath 教程(好東東難求,不敢不粘出來)

    Posted on 2006-09-19 18:02 泰仔在線 閱讀(1037) 評論(0)  編輯  收藏 所屬分類: Java 相關

    (整理自:http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html

    簡介  

    XPath由W3C的 XPath 1.0 標準 描述.本教程通過實例來展示XPath的一些特性.

    你可以從以下內容開始:

    1。基本的XPath語法類似于在一個文件系統中定位文件,如果路徑以斜線 / 開始, 那么該路徑就表示到一個元素的絕對路徑

    /AAA
    選擇根元素AAA

         <AAA>
              <BBB/>
              <CCC/>
              <BBB/>
              <BBB/>
              <DDD>
                   <BBB/>
              </DDD>
              <CCC/>
         </AAA>

    /AAA/CCC
    選擇AAA的所有CCC子元素

         <AAA>
              <BBB/>
              <CCC/>
              <BBB/>
              <BBB/>
              <DDD>
                   <BBB/>
              </DDD>
              <CCC/>
         </AAA>

    /AAA/DDD/BBB
    選擇AAA的子元素DDD的所有子元素

         <AAA>
              <BBB/>
              <CCC/>
              <BBB/>
              <BBB/>
              <DDD>
                   <BBB/>
              </DDD>
              <CCC/>
         </AAA>

    2。如果路徑以雙斜線 // 開頭, 則表示選擇文檔中所有滿足雙斜線//之后規則的元素(無論層級關系)
    //BBB
    選擇所有BBB元素

         <AAA>
              <BBB/>
              <CCC/>
              <BBB/>
              <DDD>
                   <BBB/>
              </DDD>
              <CCC>
                   <DDD>
                        <BBB/>
                        <BBB/>
                   </DDD>
              </CCC>
         </AAA>

    //DDD/BBB
    選擇所有父元素是DDD的BBB元素

         <AAA>
              <BBB/>
              <CCC/>
              <BBB/>
              <DDD>
                   <BBB/>
              </DDD>
              <CCC>
                   <DDD>
                        <BBB/>
                        <BBB/>
                   </DDD>
              </CCC>
         </AAA>

    3。星號 * 表示選擇所有由星號之前的路徑所定位的元素
    /AAA/CCC/DDD/*
    選擇所有路徑依附于/AAA/CCC/DDD的元素

         <AAA>
              <XXX>
                   <DDD>
                        <BBB/>
                        <BBB/>
                        <EEE/>
                        <FFF/>
                   </DDD>
              </XXX>
              <CCC>
                   <DDD>
                        <BBB/>
                        <BBB/>
                        <EEE/>
                        <FFF/>
                   </DDD>
              </CCC>
              <CCC>
                   <BBB>
                        <BBB>
                             <BBB/>
                        </BBB>
                   </BBB>
              </CCC>
         </AAA>

    /*/*/*/BBB
    選擇所有的有3個祖先元素的BBB元素

         <AAA>
              <XXX>
                   <DDD>
                        <BBB/>
                        <BBB/>
                        <EEE/>
                        <FFF/>
                   </DDD>
              </XXX>
              <CCC>
                   <DDD>
                        <BBB/>
                        <BBB/>
                        <EEE/>
                        <FFF/>
                   </DDD>
              </CCC>
              <CCC>
                   <BBB>
                        <BBB>
                             <BBB/>
                        </BBB>
                   </BBB>
              </CCC>
         </AAA>

    //*
    選擇所有元素

         <AAA>
              <XXX>
                   <DDD>
                        <BBB/>
                        <BBB/>
                        <EEE/>
                        <FFF/>
                   </DDD>
              </XXX>
              <CCC>
                   <DDD>
                        <BBB/>
                        <BBB/>
                        <EEE/>
                        <FFF/>
                   </DDD>
              </CCC>
              <CCC>
                   <BBB>
                        <BBB>
                             <BBB/>
                        </BBB>
                   </BBB>
              </CCC>
         </AAA>

    4。方塊號里的表達式可以進一步的指定元素, 其中數字表示元素在選擇集里的位置, 而last()函數則表示選擇集中的最后一個元素.
    /AAA/BBB[1]
    選擇AAA的第一個BBB子元素

         <AAA>
              <BBB/>
              <BBB/>
              <BBB/>
              <BBB/>
         </AAA>

    /AAA/BBB[last()]
    選擇AAA的最后一個BBB子元素

         <AAA>
              <BBB/>
              <BBB/>
              <BBB/>
              <BBB/>
         </AAA>

    5。
    //@id
    選擇所有的id屬性

         <AAA>
              <BBB id = "b1"/>
              <BBB id = "b2"/>
              <BBB name = "bbb"/>
              <BBB/>
         </AAA>

    //BBB[@id]
    選擇有id屬性的BBB元素

         <AAA>
              <BBB id = "b1"/>
              <BBB id = "b2"/>
              <BBB name = "bbb"/>
              <BBB/>
         </AAA>

    //BBB[@name]
    選擇有name屬性的BBB元素

         <AAA>
              <BBB id = "b1"/>
              <BBB id = "b2"/>
              <BBB name = "bbb"/>
              <BBB/>
         </AAA>

    //BBB[@*]
    選擇有任意屬性的BBB元素

         <AAA>
              <BBB id = "b1"/>
              <BBB id = "b2"/>
              <BBB name = "bbb"/>
              <BBB/>
         </AAA>

    //BBB[not(@*)]
    選擇沒有屬性的BBB元素

         <AAA>
              <BBB id = "b1"/>
              <BBB id = "b2"/>
              <BBB name = "bbb"/>
              <BBB/>
         </AAA>

    6。屬性的值可以被用來作為選擇的準則, normalize-space函數刪除了前部和尾部的空格, 并且把連續的空格串替換為一個單一的空格
    //BBB[@id='b1']
    選擇含有屬性id且其值為'b1'的BBB元素

         <AAA>
              <BBB id = "b1"/>
              <BBB name = " bbb "/>
              <BBB name = "bbb"/>
         </AAA>

    //BBB[@name='bbb']
    選擇含有屬性name且其值為'bbb'的BBB元素

         <AAA>
              <BBB id = "b1"/>
              <BBB name = " bbb "/>
              <BBB name = "bbb"/>
         </AAA>

    //BBB[normalize-space(@name)='bbb']
    選擇含有屬性name且其值(在用normalize-space函數去掉前后空格后)為'bbb'的BBB元素

         <AAA>
              <BBB id = "b1"/>
              <BBB name = " bbb "/>
              <BBB name = "bbb"/>
         </AAA>

    7。count()函數可以計數所選元素的個數
    //*[count(BBB)=2]
    選擇含有2個BBB子元素的元素

         <AAA>
              <CCC>
                   <BBB/>
                   <BBB/>
                   <BBB/>
              </CCC>
              <DDD>
                   <BBB/>
                   <BBB/>
              </DDD>
              <EEE>
                   <CCC/>
                   <DDD/>
              </EEE>
         </AAA>

    //*[count(*)=2]
    選擇含有2個子元素的元素

         <AAA>
              <CCC>
                   <BBB/>
                   <BBB/>
                   <BBB/>
              </CCC>
              <DDD>
                   <BBB/>
                   <BBB/>
              </DDD>
              <EEE>
                   <CCC/>
                   <DDD/>
              </EEE>
         </AAA>

    //*[count(*)=3]
    選擇含有3個子元素的元素

         <AAA>
              <CCC>
                   <BBB/>
                   <BBB/>
                   <BBB/>
              </CCC>
              <DDD>
                   <BBB/>
                   <BBB/>
              </DDD>
              <EEE>
                   <CCC/>
                   <DDD/>
              </EEE>
         </AAA>

    8。name()函數返回元素的名稱, start-with()函數在該函數的第一個參數字符串是以第二個參數字符開始的情況返回true, contains()函數當其第一個字符串參數包含有第二個字符串參數時返回true.
    //*[name()='BBB']
    選擇所有名稱為BBB的元素(這里等價于//BBB)

         <AAA>
              <BCC>
                   <BBB/>
                   <BBB/>
                   <BBB/>
              </BCC>
              <DDB>
                   <BBB/>
                   <BBB/>
              </DDB>
              <BEC>
                   <CCC/>
                   <DBD/>
              </BEC>
         </AAA>

    //*[starts-with(name(),'B')]
    選擇所有名稱以"B"起始的元素

         <AAA>
              <BCC>
                   <BBB/>
                   <BBB/>
                   <BBB/>
              </BCC>
              <DDB>
                   <BBB/>
                   <BBB/>
              </DDB>
              <BEC>
                   <CCC/>
                   <DBD/>
              </BEC>
         </AAA>

    //*[contains(name(),'C')]
    選擇所有名稱包含"C"的元素

         <AAA>
              <BCC>
                   <BBB/>
                   <BBB/>
                   <BBB/>
              </BCC>
              <DDB>
                   <BBB/>
                   <BBB/>
              </DDB>
              <BEC>
                   <CCC/>
                   <DBD/>
              </BEC>
         </AAA>

    9。string-length函數返回字符串的字符數,你應該用&lt;替代<, 用&gt;代替>
    //*[string-length(name()) = 3]
    選擇名字長度為3的元素

         <AAA>
              <Q/>
              <SSSS/>
              <BB/>
              <CCC/>
              <DDDDDDDD/>
              <EEEE/>
         </AAA>

    //*[string-length(name()) < 3]
    選擇名字長度小于3的元素

         <AAA>
              <Q/>
              <SSSS/>
              <BB/>
              <CCC/>
              <DDDDDDDD/>
              <EEEE/>
         </AAA>

    //*[string-length(name()) > 3]
    選擇名字長度大于3的元素

         <AAA>
              <Q/>
              <SSSS/>
              <BB/>
              <CCC/>
              <DDDDDDDD/>
              <EEEE/>
         </AAA>

    10。多個路徑可以用分隔符 | 合并在一起
    //CCC | //BBB
    選擇所有的CCC和BBB元素

         <AAA>
              <BBB/>
              <CCC/>
              <DDD>
                   <CCC/>
              </DDD>
              <EEE/>
         </AAA>

    /AAA/EEE | //BBB
    選擇所有的BBB元素和所有是AAA的子元素的EEE元素

         <AAA>
              <BBB/>
              <CCC/>
              <DDD>
                   <CCC/>
              </DDD>
              <EEE/>
         </AAA>

    /AAA/EEE | //DDD/CCC | /AAA | //BBB
    可以合并的路徑數目沒有限制

         <AAA>
              <BBB/>
              <CCC/>
              <DDD>
                   <CCC/>
              </DDD>
              <EEE/>
         </AAA>

    11。child軸(axis)包含上下文節點的子元素, 作為默認的軸,可以忽略不寫.
    /AAA
    等價于 /child::AAA

         <AAA>
              <BBB/>
              <CCC/>
         </AAA>

    /child::AAA
    等價于/AAA

         <AAA>
              <BBB/>
              <CCC/>
         </AAA>

    /AAA/BBB
    等價于/child::AAA/child::BBB

         <AAA>
              <BBB/>
              <CCC/>
         </AAA>

    /child::AAA/child::BBB
    等價于/AAA/BBB

         <AAA>
              <BBB/>
              <CCC/>
         </AAA>

    /child::AAA/BBB
    二者都可以被合并

         <AAA>
              <BBB/>
              <CCC/>
         </AAA>

    12。descendant (后代)軸包含上下文節點的后代,一個后代是指子節點或者子節點的子節點等等, 因此descendant軸不會包含屬性和命名空間節點.
    /descendant::*
    選擇文檔根元素的所有后代.即所有的元素被選擇

         <AAA>
              <BBB>
                   <DDD>
                        <CCC>
                             <DDD/>
                             <EEE/>
                        </CCC>
                   </DDD>
              </BBB>
              <CCC>
                   <DDD>
                        <EEE>
                             <DDD>
                                  <FFF/>
                             </DDD>
                        </EEE>
                   </DDD>
              </CCC>
         </AAA>

    /AAA/BBB/descendant::*
    選擇/AAA/BBB的所有后代元素

         <AAA>
              <BBB>
                   <DDD>
                        <CCC>
                             <DDD/>
                             <EEE/>
                        </CCC>
                   </DDD>
              </BBB>
              <CCC>
                   <DDD>
                        <EEE>
                             <DDD>
                                  <FFF/>
                             </DDD>
                        </EEE>
                   </DDD>
              </CCC>
         </AAA>

    //CCC/descendant::*
    選擇在祖先元素中有CCC的所有元素

         <AAA>
              <BBB>
                   <DDD>
                        <CCC>
                             <DDD/>
                             <EEE/>
                        </CCC>
                   </DDD>
              </BBB>
              <CCC>
                   <DDD>
                        <EEE>
                             <DDD>
                                  <FFF/>
                             </DDD>
                        </EEE>
                   </DDD>
              </CCC>
         </AAA>

    //CCC/descendant::DDD
    選擇所有以CCC為祖先元素的DDD元素

         <AAA>
              <BBB>
                   <DDD>
                        <CCC>
                             <DDD/>
                             <EEE/>
                        </CCC>
                   </DDD>
              </BBB>
              <CCC>
                   <DDD>
                        <EEE>
                             <DDD>
                                  <FFF/>
                             </DDD>
                        </EEE>
                   </DDD>
              </CCC>
         </AAA>

    13。parent軸(axis)包含上下文節點的父節點, 如果有父節點的話
    //DDD/parent::*
    選擇DDD元素的所有父節點

         <AAA>
              <BBB>
                   <DDD>
                        <CCC>
                             <DDD/>
                             <EEE/>
                        </CCC>
                   </DDD>
              </BBB>
              <CCC>
                   <DDD>
                        <EEE>
                             <DDD>
                                  <FFF/>
                             </DDD>
                        </EEE>
                   </DDD>
              </CCC>
         </AAA>

    14。ancestor軸(axis)包含上下節點的祖先節點, 該祖先節點由其上下文節點的父節點以及父節點的父節點等等諸如此類的節點構成,所以ancestor軸總是包含有根節點,除非上下文節點就是根節點本身.
    /AAA/BBB/DDD/CCC/EEE/ancestor::*
    選擇一個絕對路徑上的所有節點

         <AAA>
              <BBB>
                   <DDD>
                        <CCC>
                             <DDD/>
                             <EEE/>
                        </CCC>
                   </DDD>
              </BBB>
              <CCC>
                   <DDD>
                        <EEE>
                             <DDD>
                                  <FFF/>
                             </DDD>
                        </EEE>
                   </DDD>
              </CCC>
         </AAA>

    //FFF/ancestor::*
    選擇FFF元素的祖先節點

         <AAA>
              <BBB>
                   <DDD>
                        <CCC>
                             <DDD/>
                             <EEE/>
                        </CCC>
                   </DDD>
              </BBB>
              <CCC>
                   <DDD>
                        <EEE>
                             <DDD>
                                  <FFF/>
                             </DDD>
                        </EEE>
                   </DDD>
              </CCC>
         </AAA>

    15。following-sibling軸(axis)包含上下文節點之后的所有兄弟節點
    /AAA/BBB/following-sibling::*

         <AAA>
              <BBB>
                   <CCC/>
                   <DDD/>
              </BBB>
              <XXX>
                   <DDD>
                        <EEE/>
                        <DDD/>
                        <CCC/>
                        <FFF/>
                        <FFF>
                             <GGG/>
                        </FFF>
                   </DDD>
              </XXX>
              <CCC>
                   <DDD/>
              </CCC>
         </AAA>

    //CCC/following-sibling::*

         <AAA>
              <BBB>
                   <CCC/>
                   <DDD/>
              </BBB>
              <XXX>
                   <DDD>
                        <EEE/>
                        <DDD/>
                        <CCC/>
                        <FFF/>
                        <FFF>
                             <GGG/>
                        </FFF>
                   </DDD>
              </XXX>
              <CCC>
                   <DDD/>
              </CCC>
         </AAA>

    16。preceding-sibling 軸(axis)包含上下文節點之前的所有兄弟節點
    /AAA/XXX/preceding-sibling::*

         <AAA>
              <BBB>
                   <CCC/>
                   <DDD/>
              </BBB>
              <XXX>
                   <DDD>
                        <EEE/>
                        <DDD/>
                        <CCC/>
                        <FFF/>
                        <FFF>
                             <GGG/>
                        </FFF>
                   </DDD>
              </XXX>
              <CCC>
                   <DDD/>
              </CCC>
         </AAA>

    //CCC/preceding-sibling::*

         <AAA>
              <BBB>
                   <CCC/>
                   <DDD/>
              </BBB>
              <XXX>
                   <DDD>
                        <EEE/>
                        <DDD/>
                        <CCC/>
                        <FFF/>
                        <FFF>
                             <GGG/>
                        </FFF>
                   </DDD>
              </XXX>
              <CCC>
                   <DDD/>
              </CCC>
         </AAA>

    17。following軸(axis)包含同一文檔中按文檔順序位于上下文節點之后的所有節點, 除了祖先節點,屬性節點和命名空間節點
    /AAA/XXX/following::*

         <AAA>
              <BBB>
                   <CCC/>
                   <ZZZ>
                        <DDD/>
                        <DDD>
                             <EEE/>
                        </DDD>
                   </ZZZ>
                   <FFF>
                        <GGG/>
                   </FFF>
              </BBB>
              <XXX>
                   <DDD>
                        <EEE/>
                        <DDD/>
                        <CCC/>
                        <FFF/>
                        <FFF>
                             <GGG/>
                        </FFF>
                   </DDD>
              </XXX>
              <CCC>
                   <DDD/>
              </CCC>
         </AAA>

    //ZZZ/following::*

         <AAA>
              <BBB>
                   <CCC/>
                   <ZZZ>
                        <DDD/>
                        <DDD>
                             <EEE/>
                        </DDD>
                   </ZZZ>
                   <FFF>
                        <GGG/>
                   </FFF>
              </BBB>
              <XXX>
                   <DDD>
                        <EEE/>
                        <DDD/>
                        <CCC/>
                        <FFF/>
                        <FFF>
                             <GGG/>
                        </FFF>
                   </DDD>
              </XXX>
              <CCC>
                   <DDD/>
              </CCC>
         </AAA>

    18。following軸(axis)包含同一文檔中按文檔順序位于上下文節點之前的所有節點, 除了祖先節點,屬性節點和命名空間節點
    /AAA/XXX/preceding::*

         <AAA>
              <BBB>
                   <CCC/>
                   <ZZZ>
                        <DDD/>
                   </ZZZ>
              </BBB>
              <XXX>
                   <DDD>
                        <EEE/>
                        <DDD/>
                        <CCC/>
                        <FFF/>
                        <FFF>
                             <GGG/>
                        </FFF>
                   </DDD>
              </XXX>
              <CCC>
                   <DDD/>
              </CCC>
         </AAA>

    //GGG/preceding::*

         <AAA>
              <BBB>
                   <CCC/>
                   <ZZZ>
                        <DDD/>
                   </ZZZ>
              </BBB>
              <XXX>
                   <DDD>
                        <EEE/>
                        <DDD/>
                        <CCC/>
                        <FFF/>
                        <FFF>
                             <GGG/>
                        </FFF>
                   </DDD>
              </XXX>
              <CCC>
                   <DDD/>
              </CCC>
         </AAA>

    19。descendant-or-self 軸(axis)包含上下文節點本身和該節點的后代節點
    /AAA/XXX/descendant-or-self::*

         <AAA>
              <BBB>
                   <CCC/>
                   <ZZZ>
                        <DDD/>
                   </ZZZ>
              </BBB>
              <XXX>
                   <DDD>
                        <EEE/>
                        <DDD/>
                        <CCC/>
                        <FFF/>
                        <FFF>
                             <GGG/>
                        </FFF>
                   </DDD>
              </XXX>
              <CCC>
                   <DDD/>
              </CCC>
         </AAA>

    //CCC/descendant-or-self::*

         <AAA>
              <BBB>
                   <CCC/>
                   <ZZZ>
                        <DDD/>
                   </ZZZ>
              </BBB>
              <XXX>
                   <DDD>
                        <EEE/>
                        <DDD/>
                        <CCC/>
                        <FFF/>
                        <FFF>
                             <GGG/>
                        </FFF>
                   </DDD>
              </XXX>
              <CCC>
                   <DDD/>
              </CCC>
         </AAA>

    20。ancestor-or-self 軸(axis)包含上下文節點本身和該節點的祖先節點
    /AAA/XXX/DDD/EEE/ancestor-or-self::*

         <AAA>
              <BBB>
                   <CCC/>
                   <ZZZ>
                        <DDD/>
                   </ZZZ>
              </BBB>
              <XXX>
                   <DDD>
                        <EEE/>
                        <DDD/>
                        <CCC/>
                        <FFF/>
                        <FFF>
                             <GGG/>
                        </FFF>
                   </DDD>
              </XXX>
              <CCC>
                   <DDD/>
              </CCC>
         </AAA>

    //GGG/ancestor-or-self::*

         <AAA>
              <BBB>
                   <CCC/>
                   <ZZZ>
                        <DDD/>
                   </ZZZ>
              </BBB>
              <XXX>
                   <DDD>
                        <EEE/>
                        <DDD/>
                        <CCC/>
                        <FFF/>
                        <FFF>
                             <GGG/>
                        </FFF>
                   </DDD>
              </XXX>
              <CCC>
                   <DDD/>
              </CCC>
         </AAA>

    21。ancestor, descendant, following, preceding 和self軸(axis)分割了XML文檔(忽略屬性節點和命名空間節點), 不能交迭, 而一起使用則包含所有節點
    //GGG/ancestor::*

         <AAA>
              <BBB>
                   <CCC/>
                   <ZZZ/>
              </BBB>
              <XXX>
                   <DDD>
                        <EEE/>
                        <FFF>
                             <HHH/>
                             <GGG>
                                  <JJJ>
                                       <QQQ/>
                                  </JJJ>
                                  <JJJ/>
                             </GGG>
                             <HHH/>
                        </FFF>
                   </DDD>
              </XXX>
              <CCC>
                   <DDD/>
              </CCC>
         </AAA>

    //GGG/descendant::*

         <AAA>
              <BBB>
                   <CCC/>
                   <ZZZ/>
              </BBB>
              <XXX>
                   <DDD>
                        <EEE/>
                        <FFF>
                             <HHH/>
                             <GGG>
                                  <JJJ>
                                       <QQQ/>
                                  </JJJ>
                                  <JJJ/>
                             </GGG>
                             <HHH/>
                        </FFF>
                   </DDD>
              </XXX>
              <CCC>
                   <DDD/>
              </CCC>
         </AAA>

    //GGG/following::*

         <AAA>
              <BBB>
                   <CCC/>
                   <ZZZ/>
              </BBB>
              <XXX>
                   <DDD>
                        <EEE/>
                        <FFF>
                             <HHH/>
                             <GGG>
                                  <JJJ>
                                       <QQQ/>
                                  </JJJ>
                                  <JJJ/>
                             </GGG>
                             <HHH/>
                        </FFF>
                   </DDD>
              </XXX>
              <CCC>
                   <DDD/>
              </CCC>
         </AAA>

    //GGG/preceding::*

         <AAA>
              <BBB>
                   <CCC/>
                   <ZZZ/>
              </BBB>
              <XXX>
                   <DDD>
                        <EEE/>
                        <FFF>
                             <HHH/>
                             <GGG>
                                  <JJJ>
                                       <QQQ/>
                                  </JJJ>
                                  <JJJ/>
                             </GGG>
                             <HHH/>
                        </FFF>
                   </DDD>
              </XXX>
              <CCC>
                   <DDD/>
              </CCC>
         </AAA>

    //GGG/self::*

         <AAA>
              <BBB>
                   <CCC/>
                   <ZZZ/>
              </BBB>
              <XXX>
                   <DDD>
                        <EEE/>
                        <FFF>
                             <HHH/>
                             <GGG>
                                  <JJJ>
                                       <QQQ/>
                                  </JJJ>
                                  <JJJ/>
                             </GGG>
                             <HHH/>
                        </FFF>
                   </DDD>
              </XXX>
              <CCC>
                   <DDD/>
              </CCC>
         </AAA>

    //GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::*

         <AAA>
              <BBB>
                   <CCC/>
                   <ZZZ/>
              </BBB>
              <XXX>
                   <DDD>
                        <EEE/>
                        <FFF>
                             <HHH/>
                             <GGG>
                                  <JJJ>
                                       <QQQ/>
                                  </JJJ>
                                  <JJJ/>
                             </GGG>
                             <HHH/>
                        </FFF>
                   </DDD>
              </XXX>
              <CCC>
                   <DDD/>
              </CCC>
         </AAA>

    22。div運算符做浮點除法運算, mod運算符做求余運算, floor函數返回不大于參數的最大整數(趨近于正無窮), ceiling返回不小于參數的最小整數(趨近于負無窮)
    //BBB[position() mod 2 = 0 ]
    選擇偶數位置的BBB元素

         <AAA>
              <BBB/>
              <BBB/>
              <BBB/>
              <BBB/>
              <BBB/>
              <BBB/>
              <BBB/>
              <BBB/>
              <CCC/>
              <CCC/>
              <CCC/>
         </AAA>

    //BBB[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]
    選擇中間的BBB元素

         <AAA>
              <BBB/>
              <BBB/>
              <BBB/>
              <BBB/>
              <BBB/>
              <BBB/>
              <BBB/>
              <BBB/>
              <CCC/>
              <CCC/>
              <CCC/>
         </AAA>

    //CCC[ position() = floor(last() div 2 + 0.5) or position() = ceiling(last() div 2 + 0.5) ]
    選擇中間的CCC元素

         <AAA>
              <BBB/>
              <BBB/>
              <BBB/>
              <BBB/>
              <BBB/>
              <BBB/>
              <BBB/>
              <BBB/>
              <CCC/>
              <CCC/>
              <CCC/>
         </AAA>

    主站蜘蛛池模板: 国产AV无码专区亚洲AV琪琪| 全免费a级毛片免费看不卡| 久久无码av亚洲精品色午夜 | 亚洲乱码av中文一区二区| 久久久久亚洲AV无码专区首| 波多野结衣中文一区二区免费 | 夜夜亚洲天天久久| 亚洲国产婷婷综合在线精品| 成人au免费视频影院| 精品国产sm捆绑最大网免费站| 久久永久免费人妻精品| 国产高清对白在线观看免费91| 另类专区另类专区亚洲| 亚洲码和欧洲码一码二码三码| 亚洲精品熟女国产| 亚洲欧洲国产日韩精品| 国产亚洲精品国产| 亚洲熟女少妇一区二区| 久久久亚洲精品蜜桃臀| 亚洲国产成人爱av在线播放| 免费国产在线观看不卡| 在线观看91精品国产不卡免费| 在线中文高清资源免费观看| 最新欧洲大片免费在线| 免费不卡视频一卡二卡| 亚洲免费一级视频| 精品国产无限资源免费观看| 免费观看无遮挡www的视频| 亚欧色视频在线观看免费| 91精品全国免费观看含羞草| 色欲色香天天天综合网站免费| 久久大香香蕉国产免费网站| 日韩免费在线视频| 最近中文字幕mv免费高清在线 | 色拍自拍亚洲综合图区| 亚洲美免无码中文字幕在线| 亚洲女人影院想要爱| 77777午夜亚洲| 亚洲国产精品网站在线播放| 亚洲AV无码男人的天堂| 一级毛片无遮挡免费全部|