一尘不染

SimpleXML:选择具有特定属性值的元素

php

在XML文档中,我具有共享相同名称的元素,但是属性的值定义了它是什么类型的数据,并且我想从文档中选择所有具有特定值的元素。我是否需要使用XPath(如果可以,您是否可以建议正确的语法)还是有更优雅的解决方案?

这是一些示例XML:

<object>
  <data type="me">myname</data>
  <data type="you">yourname</data>
  <data type="me">myothername</data>
</object>

我想选择类型为的所有<data>子代标签的内容。<object>``me

PS-我正在尝试使用PHP与Netflix API进行接口-这对我的问题无关紧要,但是如果您想提出一种更好的方法,我非常高兴。


阅读 302

收藏
2020-05-26

共1个答案

一尘不染

试试这个XPath:

/object/data[@type="me"]

所以:

$myDataObjects = $simplexml->xpath('/object/data[@type="me"]');

如果object不是文档的根目录,请//object/data[@type="me"]改用。

2020-05-26