任何人都可以告诉我如何访问我解析的xml对象

时间:2012-10-22 18:29:35

标签: soap xml-namespaces

我有这个解析过的对象             $ 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

2 个答案:

答案 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";

}

应该这样做:)