Java 在追加文本之前删除XML元素的文本内容

Java 在追加文本之前删除XML元素的文本内容,java,xml,domparser,Java,Xml,Domparser,我像下面这样迭代地将文本附加到XML元素 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setValidating(false); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(new FileInputStream(new File("./myXML.xml

我像下面这样迭代地将文本附加到XML元素

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        dbf.setValidating(false);
        DocumentBuilder db = dbf.newDocumentBuilder();
        Document doc = db.parse(new FileInputStream(new File("./myXML.xml")));
        Element element =  doc.getDocumentElement();
        NodeList node1 = doc.getElementsByTagName("name");
        Element fn= (Element) node1.item(0);
        Text text = doc.createTextNode(Content);
        fn.appendChild(text);
        printtoXML(doc);
我的printXML方法是使用TransformerFactory更新xml setextcontent()方法在这里不起作用,因为在每次迭代中它都会将旧文本设置为新文本。 我希望以迭代方式追加文本,在下一次执行中,我希望删除特定元素的旧文本内容并再次追加它。 我必须多次执行程序进行测试,我不想一次又一次地附加相同的文本

你能帮我解决这个问题吗这可能行

    Text text;
    void callsomefunctionthousendtimes(){
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    dbf.setValidating(false);
    DocumentBuilder db = dbf.newDocumentBuilder();
    Document doc = db.parse(new FileInputStream(new File("./myXML.xml")));
    text = doc.createTextNode("");
    Element element =  doc.getDocumentElement();
    NodeList node1 = doc.getElementsByTagName("name");
    Element fn= (Element) node1.item(0);
    //TODO call your functionName(content) 1000 times here
    fn.appendChild(text);
    printtoXML(doc);
    }

    void functionName(String content){
    text = text.replaceWholeText(text.getWholeText() + content);
    }

添加了bonusus,只加载一次文档

它的工作原理与setTextContent()方法相同。最后它只打印我文本的最后一条记录。哦,对不起,我理解错了你的问题,有点难以理解,你能解释一下吗“我希望以迭代方式追加文本,在下一次执行时,我希望删除特定元素的旧文本内容并再次追加它“更好一点?我的程序一次执行包含大约1000次迭代,因此一次执行会将1000行文本附加到我的XML。在我下一次执行程序时,我希望删除特定XML元素的文本内容并再次附加文本。希望这就是您要查找的内容。”