编程语言
首页 > 编程语言> > php – XPath获得一个级别的子节点

php – XPath获得一个级别的子节点

作者:互联网

使用DOMXPath :: query是否可以只获得一个级别的childNodes?

例如,如果我有一个文件,如:

<div>
    <span>
        <cite>
        </cite>
    </span>
    <span>
        <cite>
        </cite>
    </span>
</div>

我希望NodeList只包含跨度而不是引用.

还应该提到它并不总是相同的元素(div,span等).我需要它来处理任何类型的元素.

这是我尝试过的,它似乎不起作用:

//*[not(ancestor::div)]

解决方法:

如果你使用

/div/*

然后你得到这个元素中所有直接孩子的列表,但这些孩子包含他们的孩子.我认为你不能删除孩子的孩子

使用默认轴,它被称为child ::.该轴仅返回当前节点下1级的元素

*匹配所有元素,但既不属性也不文本()

您必须指定节点的路径并注意//节点,因为它意味着descendant :: node并且它返回此树中此名称的所有节点

标签:php,xpath,domxpath
来源: https://codeday.me/bug/20190622/1259429.html