[英]Can't seem to get string from simpleXMLobject
我有我的xml文件
<names>
<person>
<name>John</name>
<alias>
<part>Joe</part>
<part>Foo</part>
</alias>
</person>
</names>
我保存为$xml
。
foreach($xml as $person)
var_dump($person->name);
上面的代码返回
object(SimpleXMLElement)#7 (1) {
[0]=>
string(4) "John"
}
而不只是
string(4) "John"
有了它给出的实际收益,我假设在变量的末尾添加[0]
会给我正确的收益,但它返回的是完全相同的东西 。 我尝试添加[0]
, ["0"]
, ->0
, ->"0"
,但没有任何效果。 后两次尝试给了我一个解析错误,而前两次尝试给了我与原始错误相同的响应。
如何从object(SimpleXMLElement)
内部获取string(4) "John"
?
这是因为XML是一种资源,即:
$xml = '<names>
<person>
<name>John</name>
<alias>
<part>Joe</part>
<part>Foo</part>
</alias>
</person>
</names>';
$parsed = simplexml_load_string($xml);
var_dump($parsed->getName());
将输出names
,显示您所在的元素/图层被命名为names
。
因此,parsed-> person-> name将为您提供资源。 如果要删除资源并仅访问值,则需要将其转换为字符串:
var_dump((string)$parsed->person->name);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.