如何通过索引获取PHP DOMDocument的孩子

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了如何通过索引获取PHP DOMDocument的孩子脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试获取一个 PHP DOMDocument的孩子.说我有一个这样的DOM文档:
<div>
   <h1 ></h1>
   <div id=2></div>
   <div class="test"></div>
...
</div>

我有一个索引号3.然后我需要获取元素< div class =“test”>< / div&amp;gt ;.在DOMDocument API中,没有像children(3)这样的方法.在那儿?我怎样才能得到一个有索引的孩子?

您可以使用childNodes.这是DOM元素的一个属性,它包含一个包含所有元素的子节点的nodelist.理想情况下,您可以执行$el-> childNodes-> ITem(2)(注意它是基于0的,而不是基于1的,所以2是第三个项目).但是,这包括文本节点.所以很难预测你的节点的数量.这可能不是最好的解决方案.

你可以使用alexn’s solution(getelementsbytagname(‘*’) – > item(2)),但是这又有它的缺点.如果您的节点有子节点,它们也将被包括在选择中.这可能会使您的计算失效.

我的首选解决方案是使用xpath:它可能是最稳定的解决方案,而不是特别难.

您将需要在$xpath = new DOMXPath($document)的某处创建一个XPath对象,其中$document是您的DOMDocument实例.我要假设$el是父div节点,我们正在搜索的“上下文”.

$node = $x->query('*',$el)->item(2);

请注意,我们再次使用基于0的索引来查找选择中的哪个元素.在这里,我们仅查看顶级div的子节点,*只选择元素节点,因此与文本节点的计算是不必要的.

脚本宝典总结

以上是脚本宝典为你收集整理的如何通过索引获取PHP DOMDocument的孩子全部内容,希望文章能够帮你解决如何通过索引获取PHP DOMDocument的孩子所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。