如何在Javascript中获得格式良好的DOM文档XML?

时间:2013-10-25 19:53:12

标签: javascript xml dom

我想在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中的行为相同。

即使我的HTML输入被破坏,我也期待XMLSerializer格式良好的XML输出。为什么不发生这种情况以及解决方法是什么?我需要将DOM转换为XML作为文本。

1 个答案:

答案 0 :(得分:0)

看起来无法使用原生XMLSerializer。到目前为止我找到了这些库: