我有一个函数,它试图使用XML
从XPath
query.The函数获取文本:
function getInterviewText($id) {
$sxe = simplexml_load_file("./interview2.xml");
foreach($sxe->xpath('//interview') as $item) {
$row = simplexml_load_string($item->asXML());
$v = $row->xpath('//interview-id[.="$id"]');
if($v[0]) {
echo '<interview-text>'.$item->INTERVIEW-TEXT.'</interview-text>'
}
}
}
XML文件的内容如下:
<?xml version="1.0"?>
<ROOT>
<interview>
<interview-id>1</interview-id>
<INTERVIEW-TEXT>
Test1
</INTERVIEW-TEXT>
</interview>
<interview>
<interview-id>2</interview-id>
<INTERVIEW-TEXT>
Test2
</INTERVIEW-TEXT>
</interview>
</ROOT>
但是,当我试图用id=1或2调用它时,这个函数不会返回任何东西。非常感谢您的任何帮助。
谢谢
发布于 2014-01-21 02:07:34
问题在于:
$v = $row->xpath('//interview-id[.="$id"]');
$id
没有展开,因为您在一个单引号字符串中。尝试以下几种方法之一:
$v = $row->xpath('//interview-id[.="' . $id . '"]');
// Or
$v = $row->xpath("//interview-id[.=\"{$id}\"]");
https://stackoverflow.com/questions/21247766
复制相似问题