Gre*_*reg 6 php xpath domxpath
使用 DOMXPath::query 是否可以只获取一层深度的子节点?
例如,如果我有一个类似的文档:
<div>
<span>
<cite>
</cite>
</span>
<span>
<cite>
</cite>
</span>
</div>
Run Code Online (Sandbox Code Playgroud)
我希望 NodeList 仅包含跨度而不包含引用。
还应该提到的是,它并不总是相同的元素(div、span 等)。我需要它与任何类型的元素一起使用。
这是我尝试过的,但似乎不起作用:
//*[not(ancestor::div)]
Run Code Online (Sandbox Code Playgroud)
如果你使用
/div/*
Run Code Online (Sandbox Code Playgroud)
然后您将获得该元素中所有直接子元素的列表,但这些子元素包含它们的子元素。我认为你不能删除孩子的孩子
有使用默认轴,它被称为child::。该轴仅返回当前节点下1层的元素
*匹配所有元素,但不匹配属性和 text()
您必须指定节点的路径并小心,//node因为这意味着descendant::node它会返回该树中该名称的所有节点