【问题标题】:Displaying specific XML nodes in PHP在 PHP 中显示特定的 XML 节点
【发布时间】:2018-10-04 20:02:50
【问题描述】:

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

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

我正在尝试仅显示 .xml 文件中的 <name>

这是我的代码不起作用:

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>

【问题讨论】:

    标签: php xml


    【解决方案1】:

    我认为问题出在这条线上。

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

    您已将变量名称 $xmlstr 作为字符串提供给函数 simplexml_load_file (),而不是该变量中的内容(实际文件名)。

    所以改变那行如下,

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

    【讨论】:

    • 没有一行它只是说致命错误,还有另一个错误说“堆栈跟踪:在第 4 行的 /path/ 中抛出”
    • 该错误可能是由于未安装 XML 模块。试试这个问题来安装 XML 模块。 stackoverflow.com/questions/31206186/…
    猜你喜欢
    • 2015-01-06
    • 2013-05-16
    • 2019-02-22
    • 1970-01-01
    • 2019-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-04
    相关资源
    最近更新 更多