1

我需要一些关于 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 访问父元素并获取它的某个子元素的字符串。

提前致谢!鲁纳

4

1 回答 1

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 部分,它工作得很好。

于 2013-08-29T01:58:21.040 回答