【发布时间】:2015-10-21 22:45:17
【问题描述】:
我在使用 Java 中的 DOM 向我的 xml 文件添加元素时遇到问题
我知道有很多类似问题的解决方案,但我没有成功让它们为我工作,任何帮助将不胜感激。谢谢大家!
我目前添加新元素的方法
public static void createEntryXmlFile () {
try{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(new File(FILE));
NodeList nodes = document.getElementsByTagName("CATALOG");
// cd elements
Element cd = document.createElement("CD");
// title elements
Element title = document.createElement("TITLE");
title.appendChild(document.createTextNode("TITLE"));
cd.appendChild(title);
// artist elements
Element artist = document.createElement("ARTIST");
artist.appendChild(document.createTextNode("ARTIST"));
cd.appendChild(artist);
// company elements
Element company = document.createElement("COMPANY");
company.appendChild(document.createTextNode("COMPANY"));
cd.appendChild(company);
// country elements
Element country = document.createElement("COUNTRY");
country.appendChild(document.createTextNode("COUNTRY"));
cd.appendChild(country);
// price elements
Element price = document.createElement("PRICE");
price.appendChild(document.createTextNode("PRICE"));
cd.appendChild(price);
// year elements
Element year = document.createElement("YEAR");
year.appendChild(document.createTextNode("YEAR"));
cd.appendChild(year);
Node n = (Element) cd;
nodes.item(0).appendChild(cd);
} catch (ParserConfigurationException | SAXException | IOException e) {
System.out.println(e);
}
}
XML 文件的副本
<CATALOG>
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>Columbia</COMPANY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
</CD>
<CD>
<TITLE>Hide your heart</TITLE>
<ARTIST>Bonnie Tyler</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>CBS Records</COMPANY>
<PRICE>9.90</PRICE>
<YEAR>1988</YEAR>
</CD>
</CATALOG>
【问题讨论】:
-
你遇到了什么异常?
-
试试这个:- stackoverflow.com/questions/17249758/…>
-
“我没能”是对问题的相当模糊的描述。究竟发生了什么?
-
对不起,伙计们应该说,我没有收到任何错误或异常,这是问题所在,它执行但不更新
-
我已打印文档,其中包含您的更改。