JavaScript XML文本节点是否有4096个字符限制?

时间:2009-12-28 02:30:55

标签: javascript xml textnode

我怎么总是只获得有效XML文本节点的前4096个字符? (使用JavaScript ...)是一个文本节点有限吗?

2 个答案:

答案 0 :(得分:13)

是。某些浏览器限制为4096,并将较长的文本拆分为父元素的多个文本节点子节点。如果您查看Apache CXF的源代码,您会发现一些实用程序Java脚本来处理这个问题,如果没有其他地方的话。

// Firefox splits large text regions into multiple Text objects (4096 chars in
// each). Glue it back together.
function getNodeText(node) {
    var r = "";
    for (var x = 0;x < node.childNodes.length; x++) {
        r = r + node.childNodes[x].nodeValue;
    }
    return r;
}

另见:

http://svn.apache.org/repos/asf/cxf/trunk/rt/javascript/src/main/resources/org/apache/cxf/javascript/cxf-utils.js

在这附近有更多好吃的东西。

答案 1 :(得分:2)

顺便说一下,您可以使用normalize方法将所有连续的TextNode连接成一个,而不是循环它们以获取文本。