DOM 4 J入門
こんなにたくさんのブログを見て、このDOM 4 Jについてまだよく分からないので、メモを取らざるを得ません.どこか間違っていたら提出してください.一緒に進歩します.DOM 4 Jを使用する場合は、必要なパッケージを先にインポートし、アドレスをダウンロードします.http://download.csdn.net/detail/chaogu94/9617730 最近点数が足りなくて、もしこのブログから学んだことのある友达が賞をあげることができたら、点数のない兄弟が必要なら、伝言を残して私に連絡して、見てからきっとあなたに1部送ります.
Demo 1:xmlファイル:users.xml
JAvaコード:
Demo2:
XPathの教程の相応するAPIの中で詳しい教程があって、私の提供するツールの中であって、ここで繰り返し紹介しないでください
XPathを使用するDemo xmlファイルについて
Javaファイル
Demo 1:xmlファイル:users.xml
<users>
<user id="1">
<username> username>
<password>123password>
user>
<user id="2">
<username> username>
<password>321password>
user>
users>
JAvaコード:
public class Dom4JTest2 {
public static void main(String[] args) throws DocumentException {
// SAXReader document
SAXReader reader = new SAXReader();
// document
Document document = reader.read("users.xml");
//
Element root = document.getRootElement();
// System.out.println(root.getName());//
// user
List elements = root.elements("user");
//
for (Element element : elements) {
// System.err.println(element.getName());
//
System.out.println(element.attributeValue("id"));
//
System.out.println("username:" + element.elementText("username")
+ " password:" + element.elementText("password"));
}
}
}
Demo2:
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class Dom4JTest2 {
public static void main(String[] args) {
XMLWriter writer = null;
// DocumentHelper Document
Document document = DocumentHelper.createDocument();
//
Element root = document.addElement("users");
//
Element user1Element = root.addElement("user");
Element user2Element = root.addElement("user");
//
user1Element.addAttribute("id", "1");
user2Element.addAttribute("id", "2");
//
user1Element.addElement("username").addText("zhangsan");
user1Element.addElement("password").addText("123");
user2Element.addElement("username").addText("lisi");
user2Element.addElement("password").addText("321");
//
String path = "xml/user.xml";
try {
// XMLWriter
writer = new XMLWriter(new FileWriter(path),
OutputFormat.createPrettyPrint());
// xml
writer.write(document);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (writer != null) {
try {
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
XPathの教程の相応するAPIの中で詳しい教程があって、私の提供するツールの中であって、ここで繰り返し紹介しないでください
XPathを使用するDemo xmlファイルについて
<books>
<book id="1">
<title> Atitle>
<author> Aauthor>
<price>89.00price>
book>
<book id="2">
<title> Btitle>
<author> Bauthor>
<price>69.00price>
book>
<book id="3">
<title> Ctitle>
<author> Cauthor>
<price>29price>
book>
books>
Javaファイル
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Dom4JTest2 {
public static void main(String[] args) throws DocumentException {
SAXReader reader = new SAXReader();
Document document = reader.read("users.xml");
Element root = document.getRootElement();
// xpath xml
// , book
List elements = root.selectNodes("book");
// System.out.println(elements.size());// 3
// , books book ( book )
elements = root.selectNodes("/books/book");
// System.out.println(elements.size());// 3
// book,
elements = root.selectNodes("/book");
// System.out.println(elements.size() + ":" + elements);
// ( ) ,
elements = root.selectNodes("//title");
// System.out.println(elements.size() + ":" + elements);
// B
elements = root.selectNodes("book[author=' B']");
for (Element element : elements) {
//System.out.println("title:"+element.elementText("title"));
}
// id 2
elements = root.selectNodes("/books/book[@id>2]");
for (Element element : elements) {
//System.out.println("title:"+element.elementText("title"));
}
// price
elements = root.selectNodes("/books/book[contains(title,' ')]/price");
for (Element element : elements) {
//System.out.println(element.getTextTrim());
}
// 50
elements = root.selectNodes("/books/book[contains(title,' ') and price>50]");
for (Element element : elements) {
System.out.println(element.elementText("title")+":"+element.elementText("price"));
}
}
}