【发布时间】:2026-01-12 07:35:02
【问题描述】:
为什么我总是只获得有效 XML 文本节点的前 4096 个字符? (使用 JavaScript ......)文本节点是否受限?
【问题讨论】:
标签: javascript xml textnode
为什么我总是只获得有效 XML 文本节点的前 4096 个字符? (使用 JavaScript ......)文本节点是否受限?
【问题讨论】:
标签: javascript xml textnode
是的。一些浏览器限制为 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;
}
另见:
在这附近有更多的好东西。
【讨论】:
顺便说一句,您可以使用normalize方法将所有连续的TextNode合并为一个,而不是循环它们来获取文本。
【讨论】: