0

XMLを生成する次のコードがあります。

$dom = new DomDocument('1.0');
...snip adding elements to document...
$xmlout = $dom->saveXML();
$api = "myapi.com/myservice?". trim($xmlout);

問題は、実際の値を見る$apiと次のようになっていることです。

"myapi.com/myservice?"<xml-structure>

それ以外の

"myapi.com/myservice?<xml-structure>"

を使用して$apiを出力するprint_r();と、URLが正しくないため、これが実際のapiの呼び出しを妨げていると思われます。私の疑惑は$dom->saveXML()、実際には文字列ではなく、連想配列を返していることです。これは、$ xmloutをエコーすると、さまざまなノードの値のみが出力され、ノード自体は出力されないという事実によって暗示されます。

すべてのノードの名前などを含むXMLの文字列表現を取得する最も簡単な方法は何ですか?

4

1 に答える 1

1

saveXML()配列ではなく文字列を返します。http://us3.php.net/manual/en/domdocument.savexml.php

それはあなたが探しているコンテンツを持っています。ブラウザウィンドウではなく、ソースコードビューで文字列を見ていることを確認してください。<p>ブラウザは、他のhtmlタグを表示しないのと同じように、すべてのタグをタグとして解釈し、表示しません。

また、trim()は、タグ間の空白が存在する場合は削除せず、文字列内の各行ではなく、文字列の最初と最後にのみ削除することに注意してください。

于 2012-05-31T19:05:46.383 に答える