我有这个解析过的对象 $ xmlObj = new SimpleXMLElement($ XMLToParse,LIBXML_DOTTED_VERSION,FALSE,“http:// SOME / schema / universal_v17_0”);
里面有这样的结构
<universal:UniversalR LocatorCode="somecode" Version="2" Status="Active">
<common_v17_0:Book Key="some" TravelerType="some">
所以我可以访问第一个元素(它的属性),如$ VariableX = $ xmlObj-&gt; UniversalR-&gt; attributes(); //然后$ VariableX [“Status”]; 但当我想要访问他的孩子时,我无法获得$ tm = $ xmlObj-&gt; UniversalR-&gt; Book-&gt; attributes(); 它不想进入可能因为不同的命名空间...任何人都可以帮助我。 THX
答案 0 :(得分:0)
$tm=$xmlObj->UniversalRecord->Book->attributes();
这个错字(UniversalRecord而不是UniversalR)只出现在这篇文章中,还是存在于你的代码中?
(我希望发布这个评论..但看起来我不被允许,或者找到按钮太傻了。:/)
答案 1 :(得分:0)
我在http://blog.sherifmansour.com/?p=302
找到了一些东西 foreach ($xmlObj->UniversalRecord as $entry){
$namespaces = $entry->getNameSpaces(true);
$cmm = $entry->->children($namespaces['common_v17_0']);
$aa=$cmm->Book->attributes();
echo $aa["TravelerType"]."ddddd";
}
应该这样做:)