Dom4j 1.6.1 初始教程
Dom4j是什么DD?
dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上到它。在IBM developerWorks上面可以到一篇文章,对主流的Java XML API进行的性能、功能和易用性的评测,dom4j无论在那个方面都是非常出的。如今你可以看到越来越多的Java软件都在使用dom4j来读写XML,特别值得一提的是连Sun的JAXM也在用dom4j。这是必须使用的jar包,Hibernate用它来读写配置文件dom4j需要导入dom4j-full.jar包.
Dom4j家庭成员
主要API都在org.dom4j这个包里定义:
1.Attribute Attribute定义了XML的属性
2.Branch Branch为能够包含子节点的节点如XML元素(Element)和文档(Docuemnts)定义了一个公共的行为,
3.CDATA CDATA 定义了XML CDATA 区域
4.CharacterData CharacterData是一个标识借口,标识基于字符的节点。如CDATA,Comment, Text.
5. Comment Comment 定义了XML注释的行为
3.CDATA CDATA 定义了XML CDATA 区域
4.CharacterData CharacterData是一个标识借口,标识基于字符的节点。如CDATA,Comment, Text.
5. Comment Comment 定义了XML注释的行为
6. Document 定义了XML文档
7.DocumentType DocumentType 定义XML DOCTYPE声明
8. Element Element定义XML 元素
9. ElementHandler ElementHandler定义了 Element 对象的处理器
10. ElementPath 被 ElementHandler 使用,用于取得当前正在处理的路径层次信息
10. ElementPath 被 ElementHandler 使用,用于取得当前正在处理的路径层次信息
11. Entity Entity定义 XML entity
12. Node Node为所有的dom4j中XML节点定义了多态行为
12. Node Node为所有的dom4j中XML节点定义了多态行为
13. NodeFilter NodeFilter 定义了在dom4j节点中产生的一个滤镜或谓词的行为(predicate)
14. ProcessingInstruction ProcessingInstruction 定义 XML 处理指令.
15. Text Text 定义XML 文本节点.
16. Visitor Visitor 用于实现Visitor模式.
17. XPath XPath 在分析一个字符串后会提供一个XPath 表达式
Dom4j如何干活?
1.利用dom4j创建一个XML文件:
view plaincopy to clipboardprint?
l;
import java.io.FileWriter;
import java.io.IOException;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class CreateXML {
public static void main(String[] args) {
l;
import java.io.FileWriter;
import java.io.IOException;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class CreateXML {
public static void main(String[] args) {
XMLWriter writer = null;
try {
// 1.document构建器
Document doc = ateDocument();
// 2.添加元素(根)
Element students = doc.addElement("students");
Element student1 = students.addElement("student");
// 添加属性;
student1.addAttribute("stuno", "s001");
// 添加子元素
student1.addElement("stuname").setText("刘光蓝");
student1.addElement("stusex").setText("男");
student1.addElement("stuage").setText("25");
//设置输出格式
OutputFormat atePrettyPrint();
try {
// 1.document构建器
Document doc = ateDocument();
// 2.添加元素(根)
Element students = doc.addElement("students");
Element student1 = students.addElement("student");
// 添加属性;
student1.addAttribute("stuno", "s001");
// 添加子元素
student1.addElement("stuname").setText("刘光蓝");
student1.addElement("stusex").setText("男");
student1.addElement("stuage").setText("25");
//设置输出格式
OutputFormat atePrettyPrint();
format.setEncoding("UTF-8");
writer = new XMLWriter(new FileWrite("d:/l"),format);
writer.write(doc);
System.out.println("生成XML成功!");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
writer = new XMLWriter(new FileWrite("d:/l"),format);
writer.write(doc);
System.out.println("生成XML成功!");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
l;
}
l;
import java.io.FileWriter;
import java.io.IOException;
import java.io.IOException;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class CreateXML {
public static void main(String[] args) {
XMLWriter writer = null;
try {
// 1.document构建器
Document doc = ateDocument();
// 2.添加元素(根)
Element students = doc.addElement("students");
Element student1 = students.addElement("student");
// 添加属性;
student1.addAttribute("stuno", "s001");
// 添加子元素
student1.addElement("stuname").setText("刘光蓝");
student1.addElement("stusex").setText("男");
student1.addElement("stuage").setText("25");
//设置输出格式
OutputFormat atePrettyPrint();
try {
// 1.document构建器
Document doc = ateDocument();
// 2.添加元素(根)
Element students = doc.addElement("students");
Element student1 = students.addElement("student");
// 添加属性;
student1.addAttribute("stuno", "s001");
// 添加子元素
student1.addElement("stuname").setText("刘光蓝");
student1.addElement("stusex").setText("男");
student1.addElement("stuage").setText("25");
//设置输出格式
OutputFormat atePrettyPrint();
format.setEncoding("UTF-8");
writer = new XMLWriter(new FileWrite("d:/l"),format);
writer.write(doc);
System.out.println("生成XML成功!");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
writer = new XMLWriter(new FileWrite("d:/l"),format);
writer.write(doc);
System.out.println("生成XML成功!");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
2.利用dom4j读取一个XML文件:
view plaincopy to clipboardprint?
01.l;
02.
03.import java.io.File;
04.import java.util.List;
05.
06.import org.dom4j.Document;
01.l;
02.
03.import java.io.File;
04.import java.util.List;
05.
06.import org.dom4j.Document;
07.import org.dom4j.Element;
08.import org.dom4j.Node;
09.import org.dom4j.io.SAXReader;
10.
11.public class ReaderXML {
12. public static void main(String[] args) {
13. try {
14. SAXReader saxReader=new SAXReader();
15. Document ad(new File("d:/l"));
16. //利用XPath来访问元素,属性
17. // /students/student[1] 指定某个元素
18. // /students/student/@stuno 指定某个属性
19. // /students/student[@stuno='s002']做判断
20. List<Node> data=doc.selectNodes("/students/student");
21. for(Node node:data){
java xml是什么
08.import org.dom4j.Node;
09.import org.dom4j.io.SAXReader;
10.
11.public class ReaderXML {
12. public static void main(String[] args) {
13. try {
14. SAXReader saxReader=new SAXReader();
15. Document ad(new File("d:/l"));
16. //利用XPath来访问元素,属性
17. // /students/student[1] 指定某个元素
18. // /students/student/@stuno 指定某个属性
19. // /students/student[@stuno='s002']做判断
20. List<Node> data=doc.selectNodes("/students/student");
21. for(Node node:data){
java xml是什么
22. //node.asXML() 以字符串的格式打印XML
23. if("Element".NodeTypeName())){
24. Element element=(Element)node;
25. //读取属性值
26. System.out.println(element.attributeValue("stuno"));
27. //读取子元素文本值
28. System.out.println(element.elementText("stuname"));
29. System.out.println(element.elementText("stusex"));
30. System.out.println(element.elementText("stuage")+"\n");
31. }
32. }
33. } catch (Exception e) {
34. e.printStackTrace();
35. }
36. }
23. if("Element".NodeTypeName())){
24. Element element=(Element)node;
25. //读取属性值
26. System.out.println(element.attributeValue("stuno"));
27. //读取子元素文本值
28. System.out.println(element.elementText("stuname"));
29. System.out.println(element.elementText("stusex"));
30. System.out.println(element.elementText("stuage")+"\n");
31. }
32. }
33. } catch (Exception e) {
34. e.printStackTrace();
35. }
36. }
37.
38.}
l;
38.}
l;
import java.io.File;
import java.util.List;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
public class ReaderXML {
public static void main(String[] args) {
try {
SAXReader saxReader=new SAXReader();
Document ad(new File("d:/l"));
public static void main(String[] args) {
try {
SAXReader saxReader=new SAXReader();
Document ad(new File("d:/l"));
//利用XPath来访问元素,属性
// /students/student[1] 指定某个元素
// /students/student/@stuno 指定某个属性
// /students/student[@stuno='s002']做判断
List<Node> data=doc.selectNodes("/students/student");
for(Node node:data){
//node.asXML() 以字符串的格式打印XML
if("Element".NodeTypeName())){
Element element=(Element)node;
//读取属性值
System.out.println(element.attributeValue("stuno"));
//读取子元素文本值
System.out.println(element.elementText("stuname"));
System.out.println(element.elementText("stusex"));
System.out.println(element.elementText("stuage")+"\n");
// /students/student[1] 指定某个元素
// /students/student/@stuno 指定某个属性
// /students/student[@stuno='s002']做判断
List<Node> data=doc.selectNodes("/students/student");
for(Node node:data){
//node.asXML() 以字符串的格式打印XML
if("Element".NodeTypeName())){
Element element=(Element)node;
//读取属性值
System.out.println(element.attributeValue("stuno"));
//读取子元素文本值
System.out.println(element.elementText("stuname"));
System.out.println(element.elementText("stusex"));
System.out.println(element.elementText("stuage")+"\n");
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论