创建XML文档时,这两种向元素添加文本的方法有什么区别(如果有的话):
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);
答案 0 :(得分:8)
From the documentation for 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"));
答案 1 :(得分:2)
appendChild()
方法在指定元素节点的最后一个子节点之后添加一个节点。
setTextContent()
用这个替换文本内容。