xml – XPath来获取没有父代的所有子节点(元素,注释和文本)
发布时间:2020-12-16 08:09:12 所属栏目:百科 来源:网络整理
导读:我需要一个XPath来获取所有的ChildNodes(包括文本元素,注释元素和子元素)没有父元素。任何帮助 示例示例: DOCPRESENTEDIN X First Text Node #1 y Y can Have Child Nodes # child deep to it /child /y Second Text Node #2 z/ /X EVTS evt/ evt mtg_desc
我需要一个XPath来获取所有的ChildNodes(包括文本元素,注释元素和子元素)没有父元素。任何帮助
示例示例: <DOC> <PRESENTEDIN> <X> First Text Node #1 <y> Y can Have Child Nodes # <child> deep to it </child> </y> Second Text Node #2 <z/> </X> <EVTS> <evt/> <evt> <mtg_descr> SAE 2006 World Congress & Exhibition </mtg_descr> <sess_descr> Advanced Hybrid Vehicle Powertrains (Part 1 of 5) </sess_descr> <loc> Detroit,MI,United States </loc> <sess_prod_grp_cd> TSESS </sess_prod_grp_cd> <sess_evt_name> P13 </sess_evt_name> <sess_gen_num> 138352 </sess_gen_num> <mtg_start_dt> 04/03/2006 </mtg_start_dt> <mtg_end_dt> 04/06/2006 </mtg_end_dt> <desig> CONGRESS-2006 </desig> </evt> </EVTS> <EVTTYPE>PAPER</EVTTYPE> <SUPERTECH> <![CDATA[C8585]]> </SUPERTECH> </PRESENTEDIN> XPATH TRIED 1. $doc/PRESENTEDIN/X 2. $doc/PRESENTEDIN/X/descendant::* 2. $doc/PRESENTEDIN/X/self::* 预期输出 First Text Node #1 <y> Y can Have Child Nodes # <child> deep to it </child> </y> Second Text Node #2 <z/> 我不想 <X> First Text Node #1 <y> Y can Have Child Nodes # <child> deep to it </child> </y> Second Text Node #2 <z/> </X>
从XPath(
http://www.w3.org/TR/xpath/#location-paths)的文档:
所以我想你的答案是: $doc/PRESENTEDIN/X/child::node() 如果你想要一个flatten数组的所有嵌套节点: $doc/PRESENTEDIN/X/descendant::node() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |