gpt4 book ai didi

javascript - 从浏览器 DOM 序列化 XML 不会创建 XML 声明

转载 作者:数据小太阳 更新时间:2023-10-29 02:13:08 25 4
gpt4 key购买 nike

好的,我们有一个通过 XML 与网络服务通信的网络应用程序。

到目前为止,我们只是通过将字符串组合在一起(并通过 XMLHttpRequest/POST 发送)来组装这些 XML。我想将其重构为使用构建和序列化浏览器内置的 XML DOM 树的工具,即 document.implementation & XMLSerializer().serializeToString(doc)(参见 Mozilla 文档 herehere )。到目前为止它一直运行良好,除了生成的字符串不包含 XML 声明。

那么,它应该如何运作?有什么好的建议和/或阅读吗?

哦,是的,我找到了this描述问题的 mozilla bug 和 hacky 解决方法(链接线程可通过 archive.org 获得)。

最佳答案

不同的浏览器在输出 xml 声明方面有不同的行为。

这是我的经历:

  • Mac 上的 Opera 12.15 -- XML 声明
  • Mac 上的 Safari 6.0 -- 无声明
  • Mac 上的 Chrome 26.0 -- 无声明
  • Mac 上的 Firefox 21.0 -- 无声明

不确定 IE 的功能。另一个值得注意的观察结果是似乎没有 API(我发现)可以关闭 Opera 中的声明。因此,我会找到比您指出的知道 XML 声明是否已经存在的那个更好的“hack”。也许基于字符串的快速检查序列化形式是否包含声明就足够了(例如 if (serialized.slice(0, 21) == "<?xml version=\"1.0\"?>") ... 尽管这不是检查的好方法/我会考虑替代方案)。

关于javascript - 从浏览器 DOM 序列化 XML 不会创建 XML 声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7541267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com