我正在尝试使用表单来过滤XML文件,并使用xpath进行toruble以获得所需的结果。
<?php
$filterHeading = 'CD';
$filterText = '1989';
$filename = "xml/xml_cd.xml";
$xml = simplexml_load_file($filename);
echo
$result = $xml->xpath('//' + $filterHeading + '[YEAR="' + $filterText + '"]');
print_r($result);
?>
我的目标是使用这个PHP脚本最终从网页中获取变量(标题/文本)并以JSON格式显示。但是,我无法让XML过滤器本身工作 - 任何想法?
提前致谢!
编辑
XML
<CATALOG>
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>Columbia</COMPANY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
</CD>
<CD>
<TITLE>Hide your heart</TITLE>
<ARTIST>Bonnie Tyler</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>CBS Records</COMPANY>
<PRICE>9.90</PRICE>
<YEAR>1988</YEAR>
</CD>
</CATALOG>
答案 0 :(得分:0)
节点YEAR
本身不等于1989
,其中包含文本。所以
//CD[YEAR/text()="1989"]
会做到这一点。在您的代码中:
$result = $xml->xpath('//'.$filterHeading.'[YEAR/text()="'.$filterText.'"]');