9

XML ドキュメントを作成する場合、要素にテキストを追加するこれら 2 つの方法の違いは何ですか (ある場合):

Element el = document.createElement("element");
el.setTextContent("This is the text content");

Element el = document.createElement("element");
Text txt = document.createTextNode("This is the text content");
el.appendChild(txt);
4

2 に答える 2

9

のドキュメントからElement#setTextContent()

設定時に、このノードが持つ可能性のある子はすべて削除され、新しい文字列が空または null でない場合は、この属性が設定されている文字列を含む単一の Text ノードに置き換えられます。

Element#appendChild()既存の子は削除されません (指定された子が既にツリーにある場合を除く)。したがって

el.setTextContent("This is the text content")

を呼び出す前にすべての子を削除するのと同じですel.appendChild():

for(Node n : el.getChildNodes())
{
    el.removeChild(n);
}
el.appendChild(document.createTextNode("This is the text content"));
于 2013-02-28T05:08:03.073 に答える
2

appendChild()

メソッドは、指定された要素ノードの最後の子ノードの後に​​ノードを追加します。

setTextContent()

テキストの内容をこれに置き換えます。

于 2013-02-28T05:08:26.563 に答える