我需要一些关于simplexml-xpath的建议。我有一个适用于我整个网站的主XML文件,如下所示:
<content>
<item id="001">
<title>Video 1</title>
<video>
<file>video001.mp4</file>
<dur>01:20</dur>
</video>
</item>
<item id="2">
<title>Video 2</title>
<video>
<file>video002.mp4</file>
**<dur>03:53</dur>**
</video>
</item>
</content>
现在我想回显id为"2"的项目的视频持续时间,这将是字符串"03:53"。
这似乎是simplexml的简单用法,但大量的教程只涉及循环和按数组编号进行选择。我想通过父元素的id来访问它,并获取它的某个子元素的字符串。
提前感谢!运行
您可以为此目的使用XPath:http://php.net/manual/en/simplexmlelement.xpath.php
你的代码应该是这样的(或多或少):
$xml = simplexml_load_file('path/to/xml/file.xml');
$result = $xml->xpath('/content/item[@id=2]/video/dur/text()');
$result = $result[0];
echo $result;
这是phpFiddlehttp://phpfiddle.org/main/code/9hc-yqi
也许您还应该将xpath结果强制转换为字符串,但我不确定。我刚刚在里面测试了这段代码的xpath部分http://www.xpathtester.com/而且效果很好。