繁体   English   中英

似乎无法从simpleXMLobject获取字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM