首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >simplexml和xpath -回显节点?

simplexml和xpath -回显节点?
EN

Stack Overflow用户
提问于 2013-03-28 07:09:30
回答 1查看 44关注 0票数 0

我通过xpath从simplexml-Object中选择一个节点

代码语言:javascript
复制
$x="<root>
    <person>
    <name>Julie</name>
    <age>37</age>   
    <rating>5</rating>
    </person>
    <person>
    <name>Greta</name>
    <age>56</age>
    <rating>7</rating>
    </person>
    <person>
    <name>Kerstin</name>
    <age>38</age>
    <rating>10</rating>
    </person>   
</root>";

$xml = simplexml_load_string($x);

$person = $xml->xpath("//person[name='Greta']");

foreach ($person[0] as $k => $v) 
    echo "$k => $v<br />";

输出结果与预期一致...

代码语言:javascript
复制
name => Greta<br />age => 56<br />rating => 7<br />    

那我就会..。

代码语言:javascript
复制
echo $person[0]['age'];

输出:

对,什么都没有!为什么?

在@ http://3v4l.org/Voalu上体验一下吧

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-28 07:11:06

对于子节点,SimpleXML使用对象属性,而不是数组成员(数组成员用于访问节点属性)。下面的表达式将为您提供年龄:

代码语言:javascript
复制
echo $person[0]->age;

如果XML看起来像下面这样,那么您的代码就可以工作了:

代码语言:javascript
复制
<root>
    <person age="37">
       <name>Julie</name>
       <rating>5</rating>
    </person>
    ...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15671303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档