为什么我总是只获得有效 XML 文本节点的前 4096 个字符?(使用 JavaScript ...)文本节点是否有限?
问问题
3480 次
2 回答
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;
}
另见:
在这个社区有更多的好东西。
于 2009-12-28T02:33:14.620 回答
2
顺便说一句,您可以使用normalize方法将所有连续的 TextNode 合并为一个,而不是循环它们来获取文本。
于 2011-03-06T20:53:32.380 回答