1

我想用 Javascript 序列化 DOM 并期望得到一个格式良好的 XML 文档,但是meta标签没有关闭:

<html>
  <head>
    <meta name="keywords" content="test">
  </head>
  <body>
    <p>test
    <pre id='x'/>
  </body>
  <script>
    document.getElementById('x').appendChild(
      document.createTextNode(new XMLSerializer().serializeToString(document))
    );
  </script>
</html>

输出包含无效的 XML,其中meta未关闭。然而p已关闭:

<html>
  <head>
    <meta name="keywords" content="test">
  </head>
  <body>
    <p>test</p>
  </body>
</html>

Chrome 30.0 和 Phantomjs 1.9.2 中的行为相同。

XMLSerializer即使我的 HTML 输入已损坏,我也期待来自 的格式良好的 XML 输出。为什么这没有发生,什么是解决方法?我需要将 DOM 转换为 XML 作为文本。

4

1 回答 1

0

看起来与本地人是不可能的XMLSerializer。到目前为止,我已经找到了这些库:

于 2013-10-27T07:39:44.090 回答