2

私が現在取り組んでいるプロジェクトには、Python で書かれた Web サイトを PHP コードに変換することが含まれます。私が今行っている部分では、$_GET 要求を Web サーバーに送信する必要があります。返される応答は常に XML 形式であるため、*simplexml_load_file()* 関数を使用して結果を取得しています。

Web サーバーから返された XML を解析する必要があります。Python には BeautifulStoneSoup という優れたライブラリがあり、指定された属性の内容を返すfind()メソッドがありました。

http://php.net/manual/en/book.simplexml.phpで PHP 関数のリストを見た後、属性名を指定して内容を取得できるものを見つけることができないようです。私が探している属性が必ずしも XML 配列の 1 レベルの深さにあるとは限らないことに注意してください。配列内の複数の次元になる場合があります。

これが十分に具体的でない場合は、例を提供できます。助けてくれてありがとう、友達!

4

2 に答える 2

3

Xpath は、探しているもののように聞こえます。これにより、XML ディレクトリの任意のレベル内で検索を行うことができます。

次の例では、xml ディレクトリを使用して複数レベルの深さを検索し、説明ノードに保持されているものが含まれているかどうかを確認します。$txtSearch

$holidayDoc = simplexml_load_file($url);    
$qry = "//channel/item[description[contains(text(),\"$txtSearch\")]]";
$holidayDoc->xpath($qry);

結果は、foreach ループを使用して反復処理できます。

于 2012-05-09T21:33:31.623 に答える
0

XPathクエリを実行できます。

$xml->xpath('//@myattribute')
于 2012-05-09T21:35:00.097 に答える