按节点类型获取元素

时间:2014-05-28 16:16:14

标签: javascript xml xml-parsing

大多数Web浏览器在TEXT_NODE s中的XML文档元素之间保留空格和新行。我不喜欢那样。我正在解析XML文档,修改它,然后将其序列化为String。我希望String不包含额外的空格或节点之间的换行符。例如:

<?xml version="1.0" ?>
<bookshelf>
    <book>
        <author>John Doe</author>
        <title>My Favorite Book</title>
    </book>
    <book>
        <author>Jane Doe</author>
        <title>My Second Favorite Book</title>
    </book>
</bookshelf>

应该变成:

<?xml version="1.0" ?><bookshelf><book><author>John Doe</author><title>My Favorite Book</title></book><book><author>Jane Doe</author><title>My Second Favorite Book</title></book></bookshelf>

大多数情况下,我只是想把我的XML文档的大小保持在最低限度,因为它的大小通常是兆字节,而且人类的可读性不是我的主要关注点,因为这个文档是由生成和处理的一台机器。

我知道我可以解析文档中的每个节点,测试其节点类型,如果它是TEXT_NODE(类型3),remove()。然而,考虑到文档中的节点数量,我的应用程序的性能会受到这种方法的影响。我正在寻找任何可以通过其节点类型创建所有元素数组的替代方法。或任何其他想法。

谢谢!

0 个答案:

没有答案