【问题标题】:simpleXML with double colon带双冒号的 simpleXML
【发布时间】:2016-04-01 00:00:48
【问题描述】:

我正在尝试使用简单的 XML 在 PHP 中显示来自 XML 提要的结果。

这是我的 PHP

$url = 'http://somefeed.xml';
$xml = file_get_contents($url);
$xml = simplexml_load_string($xml);


foreach($xml->entry as $x) {
    echo "Name".$x->title."<br>";

}

这是我要显示的 xml 文件的摘录

<entry>
        <id>test ed</id>
        <title type="text">My House</title>
        <updated>2016-03-31T22:45:06Z</updated>
        <content type="application/xml">
            <s:organisationSummary>
                <s:name>my house</s:name>
                <s:odsCode>61bv</s:odsCode>
                <s:address>
                    <s:addressLine>House Name</s:addressLine>
                    <s:addressLine>House Road</s:addressLine>
                    <s:addressLine>House Town</s:addressLine>
                    <s:postcode>House Postode</s:postcode>
                </s:address>
            </s:organisationSummary>
        </content>
    </entry>

使用我编写的 PHP,它可以完美地显示标题,但我不知道如何显示 s:organisationSummary 详细信息。我希望他们能够分别回显 s:name 和每个 s:addressLine 标签。

任何帮助将不胜感激。

【问题讨论】:

    标签: php xml simplexml


    【解决方案1】:

    冒号之前的部分称为命名空间前缀。访问命名空间中元素的一种方法是使用xpath() 方法,例如:

    foreach($xml->entry as $x) {
        echo $x->xpath("content/s:organisationSummary/s:name")[0]."<br>";
    }
    

    相关:Parse XML with Namespace using SimpleXML

    【讨论】:

      猜你喜欢
      • 2016-11-04
      • 1970-01-01
      • 2015-08-18
      • 1970-01-01
      • 2019-09-14
      • 1970-01-01
      • 2018-04-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多