【发布时间】:2011-01-19 14:34:09
【问题描述】:
我正在尝试根据属性的值访问元素的内容。使用 PHP SimpleXML。我有以下 XML 设置:
<DocSum>
<Id>21242919</Id>
<Item Name="Author" Type="String">Nguyen T</Item>
<Item Name="Title" Type="String">[Hemoptysis and spontaneous rupture of a primary renal angiosarcoma: a case report.]</Item>
</DocSum>
<DocSum>
<Id>21242919</Id>
<Item Name="Author" Type="String">Oliveira GC</Item>
<Item Name="Title" Type="String">Disclosing ambiguous gene aliases by automatic literature profiling.</Item>
</DocSum>
<DocSum>
<Id>21242919</Id>
<Item Name="Author" Type="String">Vanderwall DE</Item>
<Item Name="Title" Type="String">Metformin and digestive disorders.</Item>
</DocSum>
这些是书。在这种情况下,我试图获得标题。我到目前为止是这样的:
$xml = simplexml_load_file(url);
$docs = $xml->DocSum;
foreach($docs as $book){
// Each book individual
}
评论在哪里我尝试了很多东西。
【问题讨论】:
-
@Gordon:我认为这是在问使用什么,而不是如何使用它。
-
@Alejandro 在该问题“我想根据日期选择节点”中引用 OP,其中日期是元素的属性。 Bob 询问如何获取“基于属性值的元素内容”。对我来说没有区别。
-
@Gordon:OP 还写了 “我正在使用这个 XQuery 和 XPath 来选择节点” 并在标题中明确要求 XPath 和 XQuery。
-
@Alejandro 接受的解决方案是 XPath,但鉴于在任何原生 PHP XML 扩展中都没有 official XQuery support... :)
标签: php css-selectors simplexml