8

有効な XML テキスト ノードの最初の 4096 文字しか取得できないのはどうしてですか? (JavaScriptを使用して...)テキストノードは制限されていますか?

4

2 に答える 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;
}

以下も参照してください。

https://github.com/apache/cxf/blob/cxf-2.1.9/rt/javascript/src/main/resources/org/apache/cxf/javascript/cxf-utils.js

この近所のより多くのグッズのために。

于 2009-12-28T02:33:14.620 に答える
2

ちなみに、テキストを取得するためにそれらをループする代わりに、 normalizeメソッドを使用して、隣接するすべての TextNode を 1 つに結合することができます。

于 2011-03-06T20:53:32.380 に答える