我是Java和XML的新手。 我需要使用Java程序來修改這個XML文件的一部分:用Java編輯XML文件
<?xml version="1.0" encoding="UTF-8"?>
<Traduction>
<Entrée>
<Word1>Word1</Word1>
<N1>0</N1>
<N2>0</N2>
<Word2>Word2</Word2>
</Entrée>
<Sortie>
<Word1>Word1</Word1>
<N1>0</N1>
<N2>0</N2>
<Word2>Word2</Word2>
</Sortie>
</Traduction>
我想利用這個代碼在Eclipse:
try {
String filepath = "/home/user/Trad/ex1.xml";
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(filepath);
Node Traduction = document.getChildNodes().item(0);
Node Sortie = Traduction.getChildNodes().item(1);
Sortie.getChildNodes().item(0).setTextContent("AAA");
Sortie.getChildNodes().item(1).setTextContent("001");
Sortie.getChildNodes().item(2).setTextContent("002");
Sortie.getChildNodes().item(3).setTextContent("BBB");
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(document);
StreamResult result = new StreamResult(new File(filepath));
transformer.transform(source, result);
}
catch (ParserConfigurationException pce) {
pce.printStackTrace();
}
catch (TransformerException tfe) {
tfe.printStackTrace();
}
catch (IOException ioe) {
ioe.printStackTrace();
}
catch (SAXException sae) {
sae.printStackTrace();
}
但我得到這樣的結果,這不是我想:
<?xml version="1.0" encoding="UTF-8" standalone="no"?><Traduction>
<Entrée>AAA<Word1>001</Word1>002<N1>BBB</N1>
<N2>0</N2>
<Word2>Word2</Word2>
</Entrée>
<Sortie>
<Word1>Word1</Word1>
<N1>0</N1>
<N2>0</N2>
<Word2>Word2</Word2>
</Sortie>
</Traduction>
我想獲得:
<?xml version="1.0" encoding="UTF-8"?>
<Traduction>
<Entrée>
<Word1>Word1</Word1>
<N1>0</N1>
<N2>0</N2>
<Word2>Word2</Word2>
</Entrée>
<Sortie>
<Word1>AAA</Word1>
<N1>001</N1>
<N2>002</N2>
<Word2>BBB</Word2>
</Sortie>
</Traduction>
我應該在Java代碼中修改哪些內容才能獲得此內容?
讀關於Java命名約定。屬性名稱應該以小寫字符開頭 – Jens
好吧,我要解決這個問題。 – mpv1504