4
A
回答
8
有用的,以便選擇一個節點的兄弟姐妹,你必須使用相應的XPath斧頭。這裏是如何選擇所有節點的兄弟姐妹(忽略節點本身)
$siblings = $node->xpath('preceding-sibling::* | following-sibling::*');
這就是你所要做的。
1
我認爲使用XPath是你最好的選擇在這裏:
<?php
$string = <<<XML
<?xml version='1.0'?>
<document>
<title>Forty What?</title>
<from>Joe</from>
<to>Jane</to>
<body>
I know that's the answer -- but what's the question?
</body>
</document>
XML;
function get_all_siblings(SimpleXMLElement $node)
{
return $node->xpath('preceding-sibling::* | following-sibling::*');
}
$xml = simplexml_load_string($string);
foreach (get_all_siblings($xml->to) as $e)
echo $e->getName()."\n";
?>
結果:
title
from
body
0
$xml = new SimpleXMLElement($xmlstr);
$xmlNode = $xml->xpath('root/yourNodeName');
$nodeCount = count($xmlNode);
不知道這仍然是你
相關問題
- 1. 使用兄弟節點
- 2. 確定以下兄弟節點是否包含具有相同值的節點
- 3. 找到一個節點及其所有兄弟節點
- 4. 找到指定節點後找到兄弟節點
- 5. Xpath/XSLT:檢查以下兄弟節點是否是特定節點
- 6. 如何檢查節點是否沒有兄弟?
- 7. 提取兄弟節點linq
- 8. 兄弟節點在Python
- 9. 洗牌兄弟節點
- 10. java XML找到兄弟節點
- 11. 爲兄弟節點找到xpath
- 12. 使用Nokogiri獲取節點的兄弟節點
- 13. XSLT使用兄弟節點生成XML
- 14. 的XPath的節點中的一個節點是另一個節點的兄弟
- 15. 如何僅使用Xpath java在兄弟中查找節點?
- 16. 使用XPath匹配節點文本後查找兄弟
- 17. 將子節點複製到其父節點的兄弟節點的子節點
- 18. drupal 6查看:'兄弟'節點參考
- 19. Javascript-如果節點兄弟是圖像
- 20. Dynatree:選擇節點時自動選擇所有兄弟節點
- 21. 引用不同的兄弟節點
- 22. 查找下面的文本節點的兄弟
- 23. 如何根據兄弟節點中的文本值找到兄弟xml節點的文本?
- 24. 獲取節點與父節點以及沒有兄弟姐妹使用XPath
- 25. XSLT 1.0 - 合併與子節點的兄弟節點爲新的複合節點
- 26. Nokogiri將節點移動到父節點的兄弟
- 27. 移動xsl兄弟節點內的父節點?
- 28. 選擇兩個節點之間的兄弟節點
- 29. 哪個XPath可以識別具有共同兄弟的節點?
- 30. 獲取兄弟節點的值在XSLT
由於SimpleXML的工作方式,您不能使用'($ node!= $ e)'過濾上下文節點,因爲即使兩個變量都代表相同的節點,該比較始終爲真。 – 2010-02-01 07:12:08
我不使用SimpleXML已經意識到......我用不同的xpath語法更新了我的代碼(我發現你已經發布了),這使得函數基本上不相關。 – Matthew 2010-02-01 07:48:42