在XML文档中,我具有共享相同名称的元素,但是属性的值定义了它是什么类型的数据,并且我想从文档中选择所有具有特定值的元素。我是否需要使用XPath(如果可以,您是否可以建议正确的语法)还是有更优雅的解决方案?
这是一些示例XML:
<object> <data type="me">myname</data> <data type="you">yourname</data> <data type="me">myothername</data> </object>
我想选择类型为的所有<data>子代标签的内容。<object>``me
<data>
<object>``me
PS-我正在尝试使用PHP与Netflix API进行接口-这对我的问题无关紧要,但是如果您想提出一种更好的方法,我非常高兴。
试试这个XPath:
/object/data[@type="me"]
所以:
$myDataObjects = $simplexml->xpath('/object/data[@type="me"]');
如果object不是文档的根目录,请//object/data[@type="me"]改用。
object
//object/data[@type="me"]