1

Webサービスによって生成されたxmlファイルがあります。ここで、xmlからいくつかの情報を表示したいと思います。

xml内のすべてのタグは同じレベルにあり、階層はありません。

ただし、ドキュメントの両側に次のタグがあります。

<xml version="1.0" encoding="ISO-8859-1"><xmlresponse>

と:

</xmlresponse></xml>

afin d'utiliser une balise et de l'afficher j'ai donc le code suivant:

<?php
$document_xml = new DomDocument(); 
$resultat_html = '';
$document_xml->load('tmp/'.$_GET['n_doss'].'.xml'); 
//echo $elements = $document_xml->getElementsByTagName('rating');


$title = $document_xml->xpath('rating');
echo trim($title[0]);
?>

ただし、次のようなエラーメッセージを転送しています。

Fatal error: Call to undefined method DOMDocument :: xpath ()

どうやって解決したらいいのかわからない。

よろしくお願いします。

4

2 に答える 2

2

xmlファイルが有効であり、によって正しく読み込まれることを確認してくださいDomDocument。そして、なぜあなたはSimpleXML図書館を使わないのですか?またXPath、次の方法で式をサポートします。

$simplexml= new SimpleXMLElement($xml); // loading RAW XML string `$xml` retrieved from WebService
$items =  $simplexml->xpath('/rating'); // querying DOM to retrieve <rating></rating> from the root of of the structure
echo $items[0]; // getting result

注: DomDocumentメソッドはありませんxpathqueryメソッドを使用して、次のようにオブジェクトXPathに式を適用します。DomXPath

$dom = new DomDocument();
$dom->load('tracks.xml');
$xpath = new DOMXPath($dom);
$query = '//distance[. > "15000"]';
$distances = $xpath->query($query);
于 2012-08-02T12:08:17.400 に答える
1

DOMDocument方法はないと思いますxpathDOMXPath代わりに、クラスを使用できます。

これを試して:

$xpath = new DOMXPath($document_xml);
$ratings = $xpath->query('rating');
于 2012-08-02T12:08:20.303 に答える