1

我有一个非常简单的 XML 文件,我想根据 URL 参数对其进行解析。到目前为止,我正在使用 PHP 获取 ID 参数,$projid = $_GET["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 的内容。任何帮助都会很重要。

4

1 回答 1

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;
}
于 2012-10-29T18:29:49.813 回答