我正在遍历一组SimpleXML对象,但无法弄清楚如何访问每个对象的父节点。这就是我想要的:
$divs = simplexml->xpath("//div");
foreach ($divs as $div)
{
$parent_div = $div->get_parent_node(); // Sadly, there's no such function.
}
似乎必须有一个相当简单的方法来执行此操作。
最佳答案
您可以运行一个简单的XPath查询来获取它:
$parent_div = $div->xpath("parent::*");
由于这是Simplexml,并且仅具有元素和属性节点,而父节点只能是元素,而不能是属性,因此可以使用缩写语法:
$parent_div = $div->xpath("..");
(通过:Common Xpath Cheats - SimpleXML Type Cheatsheet (Feb 2013; by hakre))
关于php - 使用PHP的SimpleXML访问元素的父级?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2174263/