1
我有一個組織樹中對象的集合,我想將它保存爲一個XML文件,但我希望儘可能以最佳方式做到這一點。我用somehing這樣的(見代碼)做到這一點,但如果有人能告訴我這樣做的更好的方法,我會原汁原味:Java xml保護程序優化
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);
另請參見http://www.simpleframework.org/它的使用非常簡單。 – WeMakeSoftware
對於JAXB的+1,還要注意JAXB具有將Java對象轉換爲XML的默認規則,因此您只需要在希望指定非默認映射的地方添加註釋:http://wiki.eclipse.org/EclipseLink/Examples/ MOXy/GettingStarted –
@Funtik - JAXB非常簡單易用:http://blog.bdoughan.com/2010/10/how-does-jaxb-compare-to-simple.html –