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();,我怀疑这会干扰实际调用 api,因为 url 不正确。我的怀疑是$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 回答