java解析xml的几种方式 (四)

2014-11-24 09:44:13 · 作者: · 浏览: 3
。第二,API 大量使用了 Collections 类,简化了那些已经熟悉这些类的 Java 开发者的使用。
  JDOM 文档声明其目的是“使用 20%(或更少)的精力解决 80%(或更多)Java/XML 问题”(根据学习曲线假定为 20%)。JDOM 对于大多数 Java/XML 应用程序来说当然是有用的,并且大多数开发者发现 API 比 DOM 容易理解得多。JDOM 还包括对程序行为的相当广泛检查以防止用户做任何在 XML 中无意义的事。然而,它仍需要您充分理解 XML 以便做一些超出基本的工作(或者甚至理解某些情况下的错误)。这也许是比学习 DOM 或 JDOM 接口都更有意义的工作。
  JDOM 自身不包含解析器。它通常使用 SAX2 解析器来解析和验证输入 XML 文档(尽管它还可以将以前构造的 DOM 表示作为输入)。它包含一些转换器以将 JDOM 表示输出成 SAX2 事件流、DOM 模型或 XML 文本文档。JDOM 是在 Apache 许可证变体下发布的开放源码。

jdom创建xml

Java代码

1. import java.io.FileWriter;

2.

3. import org.jdom.Attribute;

4. import org.jdom.Comment;

5. import org.jdom.Document;

6. import org.jdom.Element;

7. import org.jdom.output.Format;

8. import org.jdom.output.XMLOutputter;

9.

10. public class JDomTest1

11. {

12. public static void main(String[] args) throws Exception

13. {

14. Document document = new Document();

15.

16. Element root = new Element("root");

17.

18. document.addContent(root);

19.

20. Comment comment = new Comment("This is my comments");

21.

22. root.addContent(comment);

23.

24. Element e = new Element("hello");

25.

26. e.setAttribute("sohu", "www.sohu.com");

27.

28. root.addContent(e);

29.

30. Element e2 = new Element("world");

31.

32. Attribute attr = new Attribute("test", "hehe");

33.

34. e2.setAttribute(attr);

35.

36. e.addContent(e2);

37.

38. e2.addContent(new Element("aaa").setAttribute("a", "b")

39. .setAttribute("x", "y").setAttribute("gg", "hh").setText("text content"));

40.

41.

42. Format format = Format.getPrettyFormat();

43.

44. format.setIndent(" ");

45. // format.setEncoding("gbk");

46.

47. XMLOutputter out = new XMLOutputter(format);

48.

49. out.output(document, new FileWriter("jdom.xml"));

50.

51. }

52. }

JDOM解析xml

Java代码

1. import java.io.File;

2. import java.io.FileOutputStream;

3. import java.util.List;

4.

5. import org.jdom.Attribute;

6. import org.jdom.Document;

7. import org.jdom.Element;

8. import org.jdom.input.SAXBuilder;

9. import org.jdom.output.Format;

10. import org.jdom.output.XMLOutputter;

11.

12. public class JDomTest2

13. {

14. public static void main(String[] args) throws Exception

15. {

16. SAXBuilder builder = new SAXBuilder();

17.

18. Document doc = builder.build(new File("jdom.xml"));

19.

20. Element element = doc.getRootElement();

21.

22. System.out.println(element.getName());

23.

24. Element hello = element.getChild("hello");

25.

26. System.out.println(hello.getText());

27.

28. List list = hello.getAttributes();

29.

30. for(int i = 0 ;i < list.size(); i++)

31. {

32. Attribute attr = (Attribute)list.get(i);

33.

34. String attrName = attr.getName();

35. String attrValue = attr.getValue();

36.

37. System.out.println(attrName + "=" + attrValue);

38. }

39.

40.