以字符串形式获取XML结果

时间:2012-05-31 18:55:44

标签: php xml

我有以下代码生成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>"

当我使用print_r();打印$ api时,我怀疑这是干扰实际调用api,因为url不正确。我怀疑$dom->saveXML()正在返回一个关联数组,而不是实际上是一个字符串 - 这是因为如果我回显$ xmlout,它只打印各个节点的值,但不会节点本身。

获取XML的字符串表示形式的最简单方法是什么,包括所有节点的名称等?

1 个答案:

答案 0 :(得分:1)

saveXML()返回一个字符串,而不是一个数组。 http://us3.php.net/manual/en/domdocument.savexml.php

它包含您正在寻找的内容。确保您在源代码视图中查看字符串,而不是在浏览器窗口中查看。浏览器会将所有标记解释为标记而不显示它们,就像它不显示<p>和其他html标记一样。

另请注意,trim()不会删除标记之间的空格(如果存在),仅在字符串的开头和结尾处 - 而不是字符串中的每一行。