我想解析一些XML数据以获得某个属性的值 - 具体来说,我想找到作者。下面是一个非常简单但有效的例子。 R
节点重复多次。PHP的Xpath提取属性名称=“作者”节点的值
<GSP VER="3.2">
<RES SN="1" EN="10">
<R N="4" MIME="application/pdf">
<Label>_cse_rvfaxixpaw0</Label>
<PageMap>
<DataObject type="metatags">
<Attribute name="creationdate" value="D:20021024104222Z"/>
<Attribute name="author" value="Diana Van Winkle"/>
</DataObject>
</PageMap>
</R>
</RES>
</GSP>
目前我做的:
$XML = simplexml_load_string($XMLResult);
$XMLResults = $XML->xpath('/GSP/RES/R');
foreach($XMLResults as $Result) {
$Label = $Result->Label;
$Author = ""; // <-- How do I get this?
}
可有人请向我解释,我怎么能拉出来的“作者”属性?笔者属性将出现最大的1次,但可能不会出现在所有的(我可以处理我自己)
谢谢,那有效 - 你能解释一下为什么你不需要指定节点的路径?你只是在寻找具有'name =“author”'属性的任何节点吗?如果是这样,那很好,但我只是好奇。干杯 – Basic 2011-05-16 01:12:05
@Basiclife是的,它正在从当前的''元素的上下文中寻找具有'name =“author”'属性的任何Attribute节点。 –
2011-05-16 01:13:34