Java xml保存程序优化
我有一个组织在树中的对象集合,我希望将其保存为XML文件,但我希望尽可能以最佳方式执行此操作。我用这样的方法(见代码)来做,但如果有人能告诉我更好的方法,我会很乐意:Java xml保存程序优化,java,xml,Java,Xml,我有一个组织在树中的对象集合,我希望将其保存为XML文件,但我希望尽可能以最佳方式执行此操作。我用这样的方法(见代码)来做,但如果有人能告诉我更好的方法,我会很乐意: DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); Document doc = d
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.newDocument();
Element rootElement = doc.createElement("company");
doc.appendChild(rootElement);
Element staff = doc.createElement("Staff");
rootElement.appendChild(staff);
Attr attr = doc.createAttribute("id");
attr.setValue("1");
staff.setAttributeNode(attr);
Element firstname = doc.createElement("firstname");
firstname.appendChild(doc.createTextNode("yong"));
staff.appendChild(firstname);
Element lastname = doc.createElement("lastname");
lastname.appendChild(doc.createTextNode("mook kim"));
staff.appendChild(lastname);
Element nickname = doc.createElement("nickname");
nickname.appendChild(doc.createTextNode("mkyong"));
staff.appendChild(nickname);
Element salary = doc.createElement("salary");
salary.appendChild(doc.createTextNode("100000"));
staff.appendChild(salary);
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File("C:\\file.xml"));
transformer.transform(source, result);
答案是:使用
在使用它的情况下,您可以在字段和类上放置@XmlElement之类的注释,以便将它们无缝地序列化/反序列化为XML。它将毫无问题地处理树中的所有递归。+1对于JAXB,还请注意JAXB有将Java对象转换为XML的默认规则,因此您只需在希望指定非默认映射的地方添加注释:@Funtik-JAXB也非常易于使用:@Blaise Doughan+1用于博客文章。我的观点是基于我几年前在JAXB方面的糟糕经历。当时我发现Simple是更简单、更高效的XML转换框架;我需要的是使用尽可能少的内存,因为这只是一个更大项目的一小部分。