我有一个看起来像这样的 xml 文件。员工.xml
<Employees>
<Employee>
<FirstName>myFirstName</FirstName>
<LastName>myLastName</LastName>
<Salary>10000</Salary>
<Employee>
</Employees>
现在如何将新的 Employee 元素添加到现有的 XML 文件中?.. 示例代码非常感谢。
您不能“将节点写入现有 XML 文件”。您可以将现有的 XML 文件读入内存,添加到数据模型中,然后写入一个新文件。您可以重命名旧文件并将新文件写入旧名称。但是没有常用的 Java 实用程序可以修改 XML 文件。
请使用xstream将您的文件解析为对象,或创建一个包含员工的列表,然后您可以直接将其转换为 xml。
我认为此链接可能对您有用。
这里有示例如何读取/解析、修改(添加元素)和保存(再次写入 xml 文件)。
您可以在以下位置找到以下示例:http ://www.petefreitag.com/item/445.cfm
读:
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.parse("/path/to/file.xml");
调整:
// attributes
Node earth = doc.getFirstChild();
NamedNodeMap earthAttributes = earth.getAttributes();
Attr galaxy = doc.createAttribute("galaxy");
galaxy.setValue("milky way");
earthAttributes.setNamedItem(galaxy);
// nodes
Node canada = doc.createElement("country");
canada.setTextContent("ca");
earth.appendChild(canada);
编写 XML 文件:
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
//initialize StreamResult with File object to save to file
StreamResult result = new StreamResult(new StringWriter());
DOMSource source = new DOMSource(doc);
transformer.transform(source, result);
String xmlString = result.getWriter().toString();
System.out.println(xmlString);
您需要使用 DOM 来编写/编辑您的 xml 文件。
这很简单:
您只需要创建节点并为其添加属性。
您还可以使用 DOM 编写/编辑 XSLT 文件。
只需在 Google 上搜索 DOM java