在PHP中显示特定的XML节点

在PHP中显示特定的XML节点,php,xml,Php,Xml,我正在尝试使用PHP显示.xml文件中的特定节点,具体取决于变量 我想知道是否有其他方法可以让它工作,或者知道我的代码有什么问题 我试图只显示.xml文件中的 以下是我的代码,它不起作用: function display_xml_nodes($xmlstr, $node) { $xmlstr = simplexml_load_file("$xmlstr") or die("Error: name not found"); echo $xmlstr->foods->p

我正在尝试使用PHP显示.xml文件中的特定节点,具体取决于变量

我想知道是否有其他方法可以让它工作,或者知道我的代码有什么问题

我试图只显示.xml文件中的

以下是我的代码,它不起作用:

function display_xml_nodes($xmlstr, $node) {
    $xmlstr = simplexml_load_file("$xmlstr") or die("Error: name not found");
    echo $xmlstr->foods->products->product->name . "\n";
}

display_xml_nodes("ex_04.xml", "name");
下面是.xml文件

<food>
    <foods>
        <title>Products</title>
        <products>
            <product>
                <name>Chcolate Bar</name>
                <price>1</price>
            </product>
            <product>
                <name>Milk</name>
                <price>0.50</price>
            </product>
            <product>
                <name>Water</name>
                <price>0.50</price>
            </product>
            <product>
                <name>Donut</name>
                <price>1.50</price>
            </product>
        </products>
    </foods>
</food>

产品
巧克力棒
1.
牛奶
0.50
水
0.50
甜甜圈
1.50

我想问题出在这条线路上

$xmlstr = simplexml_load_file("$xmlstr") or die("Error: name not found");
您将变量名
$xmlstr
作为函数
simplexml\u load\u file()
的字符串,而不是该变量中的内容(实际文件名)

因此,将该行更改如下:

$xmlstr = simplexml_load_file($xmlstr) or die("Error: name not found"); 

没有一行它只是说致命错误,还有另一个错误说“Stack Trace:shown in/path/on line 4”。这个错误可能是由于没有安装XML模块造成的。请尝试此问题以安装XML模块。