-- 作者:wopenle
-- 发布时间:8/1/2005 5:05:00 PM
-- xpath基本语法(路径匹配)[转帖]
[color=#FF0000]size=4]1. "/"[/size] (1)/AAA: <AAA> <BBB/> <CCC/> <BBB/> <BBB/> <DDD> <BBB/> <DDD> <CCC/> </AAA> ----------------------------------------------------------------------- (2)/AAA/CCC: <AAA> <BBB/> <CCC/> <BBB/> <BBB/> <DDD> <BBB/> <DDD> <CCC/> </AAA> -------------------------------------------------------------------------------------- (3)/AAA/DDD/BBB: <AAA> <BBB/> <CCC/> <BBB/> <BBB/> <DDD> <BBB/> <DDD> <CCC/> </AAA> ------------------------------------------------------------- ------------------------------------------------------------- 2. "//" (1)//BBB <AAA> <BBB/> <CCC/> <BBB/> <DDD> <BBB/> <DDD> <CCC> <DDD> <BBB/> <BBB/> <DDD> <CCC> </AAA> -------------------------------------------------------------------------------- (2)//DDD/BBB <AAA> <BBB/> <CCC/> <BBB/> <DDD> <BBB/> DDD> <CCC> <DDD> <BBB/> <BBB/> <DDD> <CCC> </AAA> ------------------------------------------------------------------ ------------------------------------------------------------------ 3. "*": (1)/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> ----------------------------------------------------------------------- (2) /*/*/*/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> ------------------------------------------------------------------------------------------------- (3)//* <AAA> <XXX> <DDD> <BBB/> <BBB/> <EEE/> <FFF/> DDD> XXX> <CCC> <DDD> <BBB/> <BBB/> <EEE/> <FFF/> DDD> CCC> </AAA> ------------------------------------------------------------------------------------ [size=4]4. [1] , last()[/size] [B](1)/AAA/BBB[1][/B] <AAA> <BBB/> <BBB/> <BBB/> <BBB/> </AAA> --------------------------------------------------------------------------- [B](2)/AAA/BBB[last()][/B] <AAA> <BBB/> <BBB/> <BBB/> <BBB/> </AAA> ------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------ 5. "@" : (1)//@id <AAA> <BBB id = "b1"/> <BBB id = "b2"/> <BBB name = "bbb"/> <BBB/> < /AAA> -------------------------------------------------------------------------------- [B](2)//BBB[@id][/B] <AAA> <BBB id = "b1"/> <BBB id = "b2"/> <BBB name = "bbb"/> <BBB/> </AAA> --------------------------------------------------------------------------------------- [B](3)//BBB[@name][/B] <AAA> <BBB id = "b1"/> <BBB id = "b2"/> <BBB name = "bbb"/> <BBB/> </AAA> -------------------------------------------------------------------------- [B](4)//BBB[@*][/B] <AAA> <BBB id = "b1"/> <BBB id = "b2"/> <BBB name = "bbb"/> <BBB/> </AAA> -------------------------------------------------------------------------------------------- [B](5)//BBB[not(@*)][/B] <AAA> <BBB id = "b1"/> <BBB id = "b2"/> <BBB name = "bbb"/> <BBB/> </AAA> --------------------------------------------------------------------------------- [B](6)//BBB[@id='b1'][/B] <AAA> <BBB id = "b1"/> <BBB name = " bbb "/> <BBB name = "bbb"/> </AAA> --------------------------------------------------------------------------------- [B](7)//BBB[@name='bbb'][/B] <AAA> <BBB id = "b1"/> <BBB name = " bbb "/> <BBB name = "bbb"/> </AAA> ------------------------------------------------------------------------------------ [B](8)//BBB[normalize-space(@name)='bbb'][/B] <AAA> <BBB id = "b1"/> <BBB name = " bbb "/> <BBB name = "bbb"/> </AAA> --------------------------------------------------------------------------------------------- 6. count() : [B](1)//*[count(BBB)=2][/B] <AAA> <CCC> <BBB/> <BBB/> <BBB/> CCC> <DDD> <BBB/> <BBB/> [color=#FF0000</DDD>[/color] <EEE> <CCC/> <DDD/> </ EEE> </AAA> ---------------------------------------------------------------------------------- [B](2)//*[count(*)=2][/B] <AAA> <CCC> <BBB/> <BBB/> <BBB/> CCC> <DDD> <BBB/> <BBB/> </DDD> <EEE> <CCC/> <DDD/> </ EEE> </ AAA> -------------------------------------------------------------------------------- [B](3)//*[count(*)=3][/B] <AAA> <CCC> <BBB/> <BBB/> <BBB/> </ CCC> </DDD> <BBB/> <BBB/> DDD> <EEE> <CCC/> <DDD/> </EEE> </AAA> ----------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------ 7. name() : [B](1)//*[name()='BBB'][/B] <AAA> <BCC> <BBB/> <BBB/> <BBB/> </BCC> <DDB> <BBB/> <BBB/> </DDB> <BEC> <CCC/> <DBD/> </ BEC> </AAA> ----------------------------------------------------------------------- [B](2)//*[starts-with(name(),'B')][/B] <AAA> <BCC> <BBB/> <BBB/> <BBB/> BCC> <DDB> <BBB/> <BBB/> DDB> <BEC> <CCC/> <DBD/> </BEC> </AAA> ---------------------------------------------------------------------------------------------- [B](3)//*[contains(name(),'C')][/B] <AAA> <BCC> <BBB/> <BBB/> <BBB/> </BCC> <DDB> <BBB/> <BBB/> </DDB> <BEC> <CCC/> <DBD/> </BEC> </AAA> ------------------------------------------------------------------------ ----------------------------------------------------------------------- 8. string-length() : [B](1)//*[string-length(name()) = 3][/B] <AAA> <Q/> <SSSS/> <BB/> <CCC/> <DDDDDDDD/> <EEEE/> </AAA> ------------------------------------------------------------------------ [B](2)//*[string-length(name()) < 3][/B] <AAA> <Q/> <SSSS/> <BB/> <CCC/> <DDDDDDDD/> <EEEE/> </AAA> ----------------------------------------------------------------------------------- [B](3)//*[string-length(name()) > 3][/B] <AAA> <Q/> <SSSS/> <BB/> <CCC/> <DDDDDDDD/> <EEEE/> </AAA> --------------------------------------------------------------------- -------------------------------------------------------------------- 9. "|" : (1)//CCC | //BBB <AAA> <BBB/> <CCC/> <DDD> <CCC/> </DDD> <EEE/> </AAA> ---------------------------------------------------------------------------------- (2)/AAA/EEE | //BBB <AAA> <BBB/> <CCC/> <DDD> <CCC/> DDD> <EEE/> </AAA> ---------------------------------------------------------------------------------- (3)/AAA/EEE | //DDD/CCC | /AAA | //BBB <AAA> <BBB/> <CCC/> <DDD> <CCC/> </DDD> <EEE/> </AAA> [/color][/color] [/color] [此贴子已经被作者于2005-8-1 18:07:32编辑过]
|