ホームページ > バックエンド開発 > PHPチュートリアル > 、phpは名前空間を使用してxmlを解析しますか?

、phpは名前空間を使用してxmlを解析しますか?

WBOY
リリース: 2016-06-20 12:44:37
オリジナル
1231 人が閲覧しました

xml ファイルは axis によって生成されます:




{ "コード": "2"、"メッセージ":"企业名称和企业注& # x518C;号匹配"}




ns1:checkQyReturnの内容を取得したいです。
PHP を使用して取得するにはどうすればよいですか?


ディスカッション (解決策) への返信

新しい SimpleXmlElement を使用して



$x = new SimpleXmlElement($str);  foreach($x->entry as $t){      echo $t->id . "<br >";      echo $t->updated . "<br />";      $namespaces = $t->getNameSpaces(true);      $gd = $t->children($namespaces['ns1']);       echo $gd->phoneNumber;  } 
ログイン後にコピー

を解決します。 参考: http://www.neatstudio.com/show-1549-1.shtml

はい、新しい SimpleXmlElement を使用して

を解決しました。名前空間を解析しましたが、最終的な変換 json が解析に使用されました。
$xmlstr = preg_replace('/sxmlns="(.*?)"/', ' _xmlns="${1}"', $simple);
$xmlstr = preg_replace('/<( /)?(w+):(w+)/', '<${1}${2}_${3}', $xmlstr);
$xmlstr = preg_replace('/(w+):( w+)="(.*?)"/', '${1}_${2}="${3}"', $xmlstr);
$xmlobj = simplexml_load_string($xmlstr); >
$json = json_decode(json_encode($xmlobj), true);
//print_r(json_encode($xmlobj), true)); > $str = $json['soapenv_Body']['checkQyResponse']['ns1_checkQyReturn'];


乱暴に行う方がずっと簡単です

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート