我无法访问SimpleXML内容的子节点。我尝试了一些变体,例如$xmlData->id
或$xmlData['id']
。
我对这个领域有些新意,所以非常感谢任何帮助。
代码示例:
$xmlData = simplexml_load_string($string);
$person = $xmlData->documentElement;
$id = $xmlData->id;
来自Simple XML的$xmlData
的Var转储:
object(SimpleXMLElement)#23 (10) {
["id"]=> string(10) "yTZn1JIaaa"
["first-name"]=> string(6) "First Name"
["last-name"]=> string(6) "Last Name"...
答案 0 :(得分:1)
我尝试重建您的代码段:
<?php
$string = "<person><id>1</id><firstname>Foo</firstname><lastname>Bar</lastname></person>";
$xmlData = simplexml_load_string($string);
echo $xmlData->id . " - " . $xmlData->firstname . " - " . $xmlData->lastname;
?>
这对我来说很好 - 输出是:
1 - Foo - Bar
你可以看到,我的名字和姓氏标记名与你的不同 - 破折号有时会引起麻烦。如果您需要破折号,请改为使用:
echo $xmlData->id . " - " . $xmlData->{'first-name'} . " - " . $xmlData->{'last-name'};
无论如何,id
工作得很好......所以也许你有另一个错误阻止你的脚本正常运行?如果您可以发布XML-String,那么它可能会有所帮助。
干杯, 最大
P.S。:你为什么要执行这条线?
$person = $xmlData->documentElement;