I can't edit a node content into an XML file with Java -
i'm trying edit xml file java, thing need edit content & replace them want inside
(i want replace nodes in deutsh french
[for expample <fr>de1</fr>
<fr>fr1</fr>
])
i tried use :
node.settextcontent(value); node.setnodevalue(value);
but doesn't work @ there other function might work in editing these nodes below ?
here's code :
(int = memory; < nodes.getlength(); i++) { node node = nodes.item(i); if ((langu.equals(node.getnodename()))) //langu = "fr" { test = node.gettextcontent(); if(iscorrect()){} else if ((manualtr.clickcount >= 0) ){ trash = test; node.settextcontent(value); // node.setnodevalue("test"); memory += manualtr.clickcount; manualtr.clickcount -= 1; } } }
and here's xml code :
<?xml version="1.0" encoding="utf-8" standalone="no"?> <titles> <tome> <de>de1</de> <fr>de1</fr> <en>en1</en> </tome> <valhalla> <de>de2</de> <fr>de2</fr> <en>en2</en> </valhalla> <vikings> <de>de3</de> <fr>de3</fr> <en>en3</en> </vikings> </titles>
try this.. using settextcontent() update node value.
import java.io.file; import javax.xml.parsers.documentbuilder; import javax.xml.parsers.documentbuilderfactory; import javax.xml.transform.outputkeys; import javax.xml.transform.transformer; import javax.xml.transform.transformerfactory; import javax.xml.transform.dom.domsource; import javax.xml.transform.stream.streamresult; import org.w3c.dom.document; import org.w3c.dom.element; import org.w3c.dom.nodelist; /** * @author jayaprasad * */ public class parsexml { public static void main(string[] args) { system.out.println("started xml modification"); try { documentbuilderfactory factory = documentbuilderfactory .newinstance(); documentbuilder docbuilder = factory.newdocumentbuilder(); document xmldoc; xmldoc = docbuilder.parse(new file("sample.xml")); nodelist nodes = xmldoc.getelementsbytagname("fr"); (int = 0, length = nodes.getlength(); < length; ++) { ((element)nodes.item(i)).settextcontent("modified"); } xmldoc.getdocumentelement().normalize(); transformerfactory transformerfactory = transformerfactory .newinstance(); transformer transformer = transformerfactory.newtransformer(); transformer.setoutputproperty(outputkeys.indent, "yes"); transformer.setoutputproperty( "{http://xml.apache.org/xslt}indent-amount", "4"); domsource domsource = new domsource(xmldoc); streamresult result = new streamresult(new file("sample.xml")); transformer.transform(domsource, result); system.out.println("modification done"); } catch (exception e) { e.printstacktrace(); } } }
Comments
Post a Comment