使用URL参数显示特定的SimpleXML记录

时间:2012-10-29 18:11:50

标签: php html simplexml

我有一个非常简单的XML文件,我想根据URL参数进行解析。到目前为止,我正在使用带有$projid = $_GET["id"];的PHP来获取ID参数,但是以有意义的方式使用它只显示具有该ID的特定匹配XML记录是我的意思。

这是我的示例XML文件:

<?xml version="1.0" encoding="ISO-8859-1"?>
<projects>
<project id="1">
    <id>1</id>
    <name>First project</name>
    <description>This is the description of the project</description>
</project>
<project id="2">
    <id>2</id>
    <name>Second project</name>
    <description>This is the description of the project</description>
</project>
</projects>

到目前为止,我不确定是否可以使用属性ID或实际的子<id></id>字段访问特定的项目记录。无论哪个最简单,更清洁,我都愿意接受。

简而言之:通过访问url.com/projects.php?id=1,该页面将显示XML文件中项目1的内容。任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

一个简单的XPath查询将完成这项工作:

$id = $_GET["id"];

$xmldoc = new DOMDocument();
$xmldoc->load('yourfile.xml');

$xpath = new Domxpath($xmldoc);
$queryResult = $xpath->query('//projects/project[@id = "$id"]');

foreach($queryResult as $result){
    echo $result->textContent;
}