Dom生成Xml和解析Xml
來源:程序員人生 發布時間:2014-11-15 04:41:31 閱讀次數:2427次
xml這類文件格式在很多時候都是很合適我們用來存取數據的,所以利用程序來生成xml文件和解析xml文件就顯得比較重要了。在dom中是把每個元素都看作是1個節點Node的,所有頁面上的屬性、元素等都是繼承自Node的,所以當獲得到的是1個Node,而你知道它實際的類型并需要使用的時候便可能會需要進行類型轉換了。
Element root = document.getDocumentElement();//獲得根節點
下面是代碼:
生成xml:
-
public void geneXmlByDom() throws Exception {
-
-
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-
-
DocumentBuilder db = factory.newDocumentBuilder();
-
-
Document document = db.newDocument();
-
-
Element rootElement = document.createElement("Persons");
-
for (int i=0;i<5;i++) {
-
-
Element person = document.createElement("person");
-
-
person.setAttribute("id", "id_"+i);
-
Element name = document.createElement("name");
-
-
name.setTextContent("name_"+i);
-
Element address = document.createElement("address");
-
address.setTextContent("address_"+i);
-
Element email = document.createElement("email");
-
email.setTextContent("email_"+i);
-
person.appendChild(name);
-
person.appendChild(address);
-
person.appendChild(email);
-
-
rootElement.appendChild(person);
-
}
-
-
document.appendChild(rootElement);
-
-
TransformerFactory transformerFactory = TransformerFactory.newInstance();
-
-
Transformer transformer = transformerFactory.newTransformer();
-
-
Source xmlSource = new DOMSource(document);
-
-
Result outputTarget = new StreamResult(new File("persons.xml"));
-
-
transformer.transform(xmlSource, outputTarget);
-
}
生成的xml文件是這個模樣
-
<?xml version="1.0" encoding="UTF⑻" standalone="no"?>
-
<Persons>
-
<person id="id_0">
-
<name>name_0</name>
-
<address>address_0</address>
-
<email>email_0</email>
-
</person>
-
<person id="id_1">
-
<name>name_1</name>
-
<address>address_1</address>
-
<email>email_1</email>
-
</person>
-
<person id="id_2">
-
<name>name_2</name>
-
<address>address_2</address>
-
<email>email_2</email>
-
</person>
-
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈