- A+
所属分类:PHP
编程之家收集整理的这篇文章主要介绍了php – 从xpath查询中排除节点,编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我目前使用的一些代码.我需要帮助的地方是$bn_name_search和$bn_ID_search
$xpath_base='/ItemSearchResponse/Items/Item[';for ($i = 1; $i<=10; $i++){$curr_item_base=$xpath_base.$i.']';$bn_name_search=$curr_item_base.'/browseNodes//browseNode/name/text()';$bn_ID_search=$curr_item_base.'/browseNodes//browseNode/browseNodeID/text()';$bn_names=$parsed->xpath($bn_name_search);$bn_IDs=$parsed->xpath($bn_ID_search);}
这给了我所有的browsnode名称和所有broswnode ID.我现在要做的是只查找不是“所有产品”的browsenode名称“browseNode / name /”,只有browsnode ID“browseNode / browseNodeID /”共享一个名称不是“browseNode /”的“browseNode /”所有产品“我不必测试browseNode / name的存在.如果有ID,则不会为空.如果我可以放两个否定表达式,那就更好了.我会省略名为“所有产品”的名称和名称为“部门”的名称.
编辑:
这是XML的一个块:如果它显示“& lt; name& gt; Departments& lt; / name& gt;”,我想排除该名称及其ID.如果我有一个类似的“& lt; name& gt;所有产品& lt; / name& gt;”我也想排除这个名字和它的ID. (按ID,我的意思是& lt; browseNodeID& gt;)
<browseNodes><browseNode><browseNodeID>2346727011</browseNodeID><name>Casual</name><Ancestors><browseNode><browseNodeID>1045024</browseNodeID><name>Dresses</name><Ancestors><browseNode><browseNodeID>1040660</browseNodeID><name>Women</name><Ancestors><browseNode><browseNodeID>1036682</browseNodeID><name>Departments</name><IscategoryRoot>1</IscategoryRoot><Ancestors><browseNode><browseNodeID>1036592</browseNodeID><name>Clothing & AccessorIEs</name></browseNode></Ancestors></browseNode></Ancestors></browseNode></Ancestors></browseNode></Ancestors></browseNode></browseNodes>
解决方法:
你去:
- 我的微信
- 这是我的微信扫一扫
-
- 我的微信公众号
- 我的微信公众号扫一扫
-




