我需要一些关于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访问父元素,抓取它的某个子元素的字符串。
提前致谢! 鲁纳
答案 0 :(得分:1)
您可以将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;
这是phpFiddle http://phpfiddle.org/main/code/9hc-yqi
可能你也应该在字符串上施放xpath结果,但我不确定。我刚刚在http://www.xpathtester.com/内测试了此代码的xpath部分,它运行得很好。