为什么我所有的XML都被转义了


Why is ALL my XML being escaped?

长时间侦听,第一次调用者。

这是我正在发生的事情...

创建了一个PHP网络服务,发送简单的数据类型(如字符串,int...返回字符串或整数没有问题。

现在我想以 XML 格式返回数据。

所以我创建了一个 DomDocument 并填写了所有数据......

然后我将其从服务中退回。

在我的客户端,当我将对象加载为 XML 文档时,我收到有关我的根格式不正确的错误。

我查看我的调试,所有"特殊"字符都已转义。

我做了一个黑客攻击,用>替换了"<"等等。

然后我可以加载结果。

这似乎不对,我应该能够返回格式正确的XML。

所以我猜这是我如何定义 xml 对象???

有人可以发布定义 xml 对象返回的 PHP 示例吗?

我已经找了好几天了,我找不到一个简单的例子,从MySql中选择数据,将其转换为XML,然后将XML返回给客户端。

I did a hack and replaced "<" with > and so on.

没有关于替换.XML有害字符的技巧,这是规则。在这里阅读有关此类角色的信息。相反,您可以使用以下代码:

function replace_characters_for_xml(&$str)
{
   $str = str_replace("&","&amp;",$str);
   $str = str_replace(">","&gt;",$str);
   $str = str_replace("<","&lt;",$str);
   $str = str_replace("'","&apos;",$str);
   $str = str_replace('"',"&quot;",$str);
}
...
replace_characters_for_xml($string);

所以我创建了一个 DomDocument 并填写了所有数据......

我怀疑你在这里所做的一切都做错了。

我找到了一个不同的代码示例,用于将MySql数据存储到XML中。结果,这完成了我正在寻找的诀窍。

使用 PHP DOM 从 MySQL 数据创建 XML 文件