【发布时间】:2018-06-04 10:03:54
【问题描述】:
我几乎尝试了所有方法,但我似乎无法从以下 SimpleXMLElement 转储中读取命名空间的“m:inline”元素以及“feed”和“title”子元素:
SimpleXMLElement {#235
+"@attributes": array:4 [
"rel" => "http://schemas.microsoft.com/ado/2007/08/dataservices/related/test"
"type" => "application/atom+xml;type=feed"
"title" => "some title"
"href" => "JobRequisition(23453453L)/Test"
]
+"m:inline": SimpleXMLElement {#152
+"feed": SimpleXMLElement {#123
+"title": "jobReqLocale"
...some more data ahead skipped here
原始 xml 开始:
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/jobReqLocale" type="application/atom+xml;type=feed" title="some title" href="JobRequisition(23453453L)/Test">
<m:inline>
<feed>
<title type="text">jobReqLocale</title>
...
我试过了:
$simpleXmlElement = new SimpleXMLElement($xml, LIBXML_NOERROR, false);
dd($simpleXmlElement->children('m', true)->feed);
结果总是一个空的 SimpleXmlElement
包含各种变体,包括 xpath。难道我做错了什么? SimpleXML 不支持这些类型的结构吗?
【问题讨论】:
-
请您 edit 包含您尝试解析的 XML 示例,而不是任何调试输出? SimpleXML 在大多数通用调试中往往显示不佳,因为它没有“真正的”属性。
-
我已经添加了xml文件的开头。