我有这个xml。
我需要做的是使用属性硬编码id获取名称和visiturl。我不希望它循环。我只需要打印name
。
id=3
我知道我可以使用foreach获取所有数据,或者我可以使用:
获得第一个id$op = simplexml_load_file($file);
echo $op->urldata[0]->url->attributes(); //print 1 gets the first id.
检查了一些示例in php manual,但无法找到我正在寻找的内容。我试过了:
echo $op->urldata[0]->url->attributes()->{'1'}->name; //prints nothing
这可能直接得到我想要的吗?
<urldata>
<url id="1">
<name>Google</name>
<visiturl>www.google.com</visiturl>
</url>
<url id="2">
<name>Google1</name>
<visiturl>www.google1.com</visiturl>
</url>
<url id="3">
<name>Google2</name>
<visiturl>www.google2.com</visiturl>
</url>
<url id="4">
<name>Google3</name>
<visiturl>www.google3.com</visiturl>
</url>
<url id="5">
<name>Google4</name>
<visiturl>www.google4.com</visiturl>
</url>
</urldata>
答案 0 :(得分:-1)
尝试
echo $op->xpath('//url[@id="3"]/name/text()')[0];
(此信用转到@ splash58)
您可能希望在W3Schools上阅读此xpath教程。这对我帮助很大。