如何解析以下xml代码?我正在尝试以下方法: echo $ xml [0] - > entry [0] - > content [0];但我得到空值
<entry>
<id>https://api.datamarket.azure.com/Data.ashx/MRC/MicrosoftAcademic/v2/Author(101612)</id>
<category term="MRC.MicrosoftAcademic.Author" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
<link rel="edit" title="Author" href="Author(101612)" /><title />
<updated>2014-05-26T12:45:01Z</updated>
<author>
<name />
</author>
<content type="application/xml">
<m:properties>
<d:ID m:type="Edm.Int32">101612</d:ID>
<d:Name>Omar Abou Khaled</d:Name>
<d:NativeName m:null="true" />
<d:Affiliation>University of Applied Sciences of Western Switzerland</d:Affiliation>
<d:AffiliationID m:type="Edm.Int32">0</d:AffiliationID>
<d:Email m:null="true" />
<d:Homepage>http://omar.aboukhaled.home.hefr.ch/</d:Homepage>
<d:Version m:type="Edm.Int32">11024</d:Version>
<d:LinkedInUrl m:null="true" />
<d:WikipediaUrl m:null="true" />
<d:TwitterUserName m:null="true" />
<d:ResearchInterests m:null="true" />
</m:properties>
</content>
</entry>
答案 0 :(得分:0)
如果您使用simplexml
解析此xml$xml = simplexml_load_file(__DIR__ . '/file.xml');
enty 是根节点。因此,要获得内容节点,应使用直接调用内容:
print_r($xml->content);
获取内容类型:
print_r($xml->content['type']);
等等。
Jay在评论中留下的链接非常有用。
同样可能存在关于命名空间的错误,要快速消除它,只需更新根节点,如:
<entry xmlns:m="/" xmlns:d="/">