开发者

Parse XML with PHP that contains namespaces

开发者 https://www.devze.com 2023-02-20 10:35 出处:网络
I am trying to parse an XML file in PHP that looks like: <post dsq:id=\"##Edited out##\"> <id />

I am trying to parse an XML file in PHP that looks like:

<post dsq:id="##Edited out##">
    <id />
    <message>##Edited out##</message>
    <createdAt>2010-07-09T16:08:44Z</createdAt>
    <author>
        <email>##Edited out##</email>
        <name>##Edited out##</name>
        <isAnonymous />
    </author>
    <ipAddress>##Edited out##</ipAddress>
    <thread dsq:id="##Edited out##" />
</post>

<post dsq:id="##Edited out##">
    <id开发者_Python百科 />
    <message>##Edited out##</message>
    <createdAt>2010-07-09T16:10:07Z</createdAt>
    <author>
        <email>##Edited out##</email>
        <name>##Edited out##</name>
        <isAnonymous />
    </author>
    <ipAddress>##Edited out##</ipAddress>
    <thread dsq:id="##Edited out##" />
</post>

I am using simple xml to parse it like this:

$xml = simplexml_load_file('disqus.xml');

foreach ( $xml->post as $post )
{
    echo $post['dsq:id'];
}

However, I am unable to get the id attribute from the post object here:

<post dsq:id="##Edited out##">

Any information on how that could be retrieved would be greatly appreciated.


$xml = simplexml_load_file('disqus.xml');

foreach ( $xml->post as $post )
{
    $dsq = $post->children('disqus.com/disqus-internals'); //should this not have http://disqus.com/disqus-internals?
    echo $dsq->id;
}

The one you are using, w3.org/2001/XMLSchema-instance, is for the xsi namespace.

0

精彩评论

暂无评论...
验证码 换一张
取 消