0

我有这个解析的对象 $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->UniversalR->attributes();//然后 $VariableX["Status"]; 但是当我想访问他的孩子时,我无法 $tm=$xmlObj->UniversalR->Book->attributes(); 它不想进入可能是因为不同的命名空间......任何人都可以帮助我。谢谢

4

2 回答 2

0

$tm=$xmlObj->UniversalRecord->Book->attributes();这个错字(UniversalRecord 而不是 UniversalR)是否仅出现在这篇文章中,还是也出现在您的代码中?(我很想把它作为评论发布..但看起来我不允许这样做,或者我太笨了找不到按钮。:/)

于 2012-10-22T18:36:34.953 回答
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";

}

应该这样做:)

于 2012-10-23T11:53:30.787 回答