java html解析成xml文件_Java解析XML文件

转:

2017年12月27日 09:47:29 zflovecf 阅读数:35152

1.DOM方式解析XML

Dom解析是将xml文件全部载入到内存,组装成一颗dom树,然后通过节点以及节点之间的关系来解析xml文件,与平台无关,java提供的一种基础的解析XML文件的API,理解较简单,但是由于整个文档都需要载入内存,不适用于文档较大时。

2.SAX方式解析XML

基于事件驱动,逐条解析,适用于只处理xml数据,不易编码,而且很难同时访问同一个文档中的多处不同数据

3.JDOM方式解析XML

简化与XML的交互并且比使用DOM实现更快,仅使用具体类而不使用接口因此简化了API,并且易于使用

4.DOM4j方式解析XML

JDOM的一种智能分支,功能较强大,建议熟练使用

下面给出例子:

books.xml

冰与火之歌

乔治马丁

2014

89

安徒生童话

安徒生

2004

77

think think think

aaa

1997

100

冰与火之歌

乔治马丁

2014

89

安徒生童话

安徒生

2004

77

think think think

aaa

1997

100

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

bean类:Book.java

public class Book {

/**

* @author lune

*/

private int id;

private String name;

private String author;

private int year;

private double price;

/**

* @return the id

*/

public int getId() {

return id;

}

/**

* @param id the id to set

*/

public void setId(int id) {

this.id = id;

}

/**

* @return the name

*/

public String getName() {

return name;

}

/**

* @param name the name to set

*/

public void setName(String name) {

this.name = name;

}

/**

* @return the author

*/

public String getAuthor() {

return author;

}

/**

* @param author the author to set

*/

public void setAuthor(String author) {

this.author = author;

}

/**

* @return the year

*/

public int getYear() {

return year;

}

/**

* @param year the year to set

*/

public void setYear(int year) {

this.year = year;

}

/**

* @return the price

*/

public double getPrice() {

return price;

}

/**

* @param price the price to set

*/

public void setPrice(double price) {

this.price = price;

}

@Override

public String toString() {

return “Book [id=” + id + “, name=” + name + “, author=” + author + “, year=” + year + “, price=” + price + “]”;

}

}

public class Book {

/**

* @author lune

*/

private int id;

private String name;

private String author;

private int year;

private double price;

/**

* @return the id

*/

public int getId() {

return id;

}

/**

* @param id the id to set

*/

public void setId(int id) {

this.id = id;

}

/**

* @return the name

*/

public String getName() {

return name;

}

/**

* @param name the name to set

*/

public void setName(String name) {

this.name = name;

}

/**

* @return the author

*/

public String getAuthor() {

return author;

}

/**

* @param author the author to set

*/

public void setAuthor(String author) {

this.author = author;

}

/**

* @return the year

*/

public int getYear() {

return year;

}

/**

* @param year the year to set

*/

public void setYear(int year) {

this.year = year;

}

/**

* @return the price

*/

public double getPrice() {

return price;

}

/**

* @param price the price to set

*/

public void setPrice(double price) {

this.price = price;

}

@Override

public String toString() {

return "Book [id=" + id + ", name=" + name + ", author=" + author + ", year=" + year + ", price=" + price + "]";

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

1.DOM方式解析XML

import java.util.ArrayList;

import java.util.List;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;

import org.w3c.dom.NamedNodeMap;

import org.w3c.dom.NodeList;

import com.lune.bean.Book;

/**

* 用DOM方式读取xml文件

* @author lune

*/

public class ReadxmlByDom {

private static DocumentBuilderFactory dbFactory = null;

private static DocumentBuilder db = null;

private static Document document = null;

private static List books = null;

static{

try {

dbFactory = DocumentBuilderFactory.newInstance();

db = dbFactory.newDocumentBuilder();

} catch (ParserConfigurationException e) {

e.printStackTrace();

}

}

public static List getBooks(String fileName) throws Exception{

//将给定 URI 的内容解析为一个 XML 文档,并返回Document对象

document = db.parse(fileName);

//按文档顺序返回包含在文档中且具有给定标记名称的所有 Element 的 NodeList

NodeList bookList = document.getElementsByTagName(”book”);

books = new ArrayList();

//遍历books

for(int i=0;i

Book book = new Book();

//获取第i个book结点

org.w3c.dom.Node node = bookList.item(i);

//获取第i个book的所有属性

NamedNodeMap namedNodeMap = node.getAttributes();

//获取已知名为id的属性值

String id = namedNodeMap.getNamedItem(”id”).getTextContent();//System.out.println(id);

book.setId(Integer.parseInt(id));

//获取book结点的子节点,包含了Test类型的换行

NodeList cList = node.getChildNodes();//System.out.println(cList.getLength());9

//将一个book里面的属性加入数组

ArrayList contents = new ArrayList<>();

for(int j=1;j

org.w3c.dom.Node cNode = cList.item(j);

String content = cNode.getFirstChild().getTextContent();

contents.add(content);

//System.out.println(contents);

}

book.setName(contents.get(0));

book.setAuthor(contents.get(1));

book.setYear(Integer.parseInt(contents.get(2)));

book.setPrice(Double.parseDouble(contents.get(3)));

books.add(book);

}

return books;

}

public static void main(String args[]){

String fileName = ”src/res/books.xml”;

try {

List list = ReadxmlByDom.getBooks(fileName);

for(Book book :list){

System.out.println(book);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

import java.util.ArrayList;

import java.util.List;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;

import org.w3c.dom.NamedNodeMap;

import org.w3c.dom.NodeList;

import com.lune.bean.Book;

/**

* 用DOM方式读取xml文件

* @author lune

*/

public class ReadxmlByDom {

private static DocumentBuilderFactory dbFactory = null;

private static DocumentBuilder db = null;

private static Document document = null;

private static List books = null;

static{

try {

dbFactory = DocumentBuilderFactory.newInstance();

db = dbFactory.newDocumentBuilder();

} catch (ParserConfigurationException e) {

e.printStackTrace();

}

}

public static List getBooks(String fileName) throws Exception{

//将给定 URI 的内容解析为一个 XML 文档,并返回Document对象

document = db.parse(fileName);

//按文档顺序返回包含在文档中且具有给定标记名称的所有 Element 的 NodeList

NodeList bookList = document.getElementsByTagName("book");

books = new ArrayList();

//遍历books

for(int i=0;i

Book book = new Book();

//获取第i个book结点

org.w3c.dom.Node node = bookList.item(i);

//获取第i个book的所有属性

NamedNodeMap namedNodeMap = node.getAttributes();

//获取已知名为id的属性值

String id = namedNodeMap.getNamedItem("id").getTextContent();//System.out.println(id);

book.setId(Integer.parseInt(id));

//获取book结点的子节点,包含了Test类型的换行

NodeList cList = node.getChildNodes();//System.out.println(cList.getLength());9

//将一个book里面的属性加入数组

ArrayList contents = new ArrayList<>();

for(int j=1;j

org.w3c.dom.Node cNode = cList.item(j);

String content = cNode.getFirstChild().getTextContent();

contents.add(content);

//System.out.println(contents);

}

book.setName(contents.get(0));

book.setAuthor(contents.get(1));

book.setYear(Integer.parseInt(contents.get(2)));

book.setPrice(Double.parseDouble(contents.get(3)));

books.add(book);

}

return books;

}

public static void main(String args[]){

String fileName = "src/res/books.xml";

try {

List list = ReadxmlByDom.getBooks(fileName);

for(Book book :list){

System.out.println(book);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

2.SAX方式解析XML

需要自定义DefaultHandler处理器

import java.util.ArrayList;

import java.util.List;

import org.xml.sax.Attributes;

import org.xml.sax.SAXException;

import org.xml.sax.helpers.DefaultHandler;

import com.lune.bean.Book;

/**

* 用SAX解析xml文件时需要的handler

* @author lune

*/

public class SAXParseHandler extends DefaultHandler {

private List list;         //存放解析到的book数组

private Book book;               //存放当前解析的book

private String content = null;   //存放当前节点值

/**

* 开始解析xml文档时调用此方法

*/

@Override

public void startDocument() throws SAXException {

super.startDocument();

System.out.println(”开始解析xml文件”);

list = new ArrayList();

}

/**

* 文档解析完成后调用此方法

*/

@Override

public void endDocument() throws SAXException {

super.endDocument();

System.out.println(”xml文件解析完毕”);

}

/**

* 开始解析节点时调用此方法

*/

@Override

public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {

super.startElement(uri, localName, qName, attributes);

//当节点名为book时,获取book的属性id

if(qName.equals(“book”)){

book = new Book();

String id = attributes.getValue(”id”);//System.out.println(“id值为”+id);

book.setId(Integer.parseInt(id));

}

}

/**

*节点解析完毕时调用此方法

*

*@param qName 节点名

*/

@Override

public void endElement(String uri, String localName, String qName) throws SAXException {

super.endElement(uri, localName, qName);

if(qName.equals(“name”)){

book.setName(content);

//System.out.println(“书名”+content);

}else if(qName.equals(“author”)){

book.setAuthor(content);

//  System.out.println(“作者”+content);

}else if(qName.equals(“year”)){

book.setYear(Integer.parseInt(content));

//  System.out.println(“年份”+content);

}else if(qName.equals(“price”)){

book.setPrice(Double.parseDouble(content));

//  System.out.println(“价格”+content);

}else if(qName.equals(“book”)){         //当结束当前book解析时,将该book添加到数组后置为空,方便下一次book赋值

list.add(book);

book = null;

}

}

/**

* 此方法用来获取节点的值

*/

@Override

public void characters(char[] ch, int start, int length) throws SAXException {

super.characters(ch, start, length);

content = new String(ch, start, length);

//收集不为空白的节点值

//      if(!content.trim().equals(“”)){

//          System.out.println(“节点值为:”+content);

//      }

}

public List getBooks(){

return list;

}

}

import java.util.ArrayList;

import java.util.List;

import org.xml.sax.Attributes;

import org.xml.sax.SAXException;

import org.xml.sax.helpers.DefaultHandler;

import com.lune.bean.Book;

/**

* 用SAX解析xml文件时需要的handler

* @author lune

*/

public class SAXParseHandler extends DefaultHandler {

private List list; //存放解析到的book数组

private Book book; //存放当前解析的book

private String content = null; //存放当前节点值

/**

* 开始解析xml文档时调用此方法

*/

@Override

public void startDocument() throws SAXException {

super.startDocument();

System.out.println("开始解析xml文件");

list = new ArrayList();

}

/**

* 文档解析完成后调用此方法

*/

@Override

public void endDocument() throws SAXException {

super.endDocument();

System.out.println("xml文件解析完毕");

}

/**

* 开始解析节点时调用此方法

*/

@Override

public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {

super.startElement(uri, localName, qName, attributes);

//当节点名为book时,获取book的属性id

if(qName.equals("book")){

book = new Book();

String id = attributes.getValue("id");//System.out.println("id值为"+id);

book.setId(Integer.parseInt(id));

}

}

/**

*节点解析完毕时调用此方法

*

*@param qName 节点名

*/

@Override

public void endElement(String uri, String localName, String qName) throws SAXException {

super.endElement(uri, localName, qName);

if(qName.equals("name")){

book.setName(content);

//System.out.println("书名"+content);

}else if(qName.equals("author")){

book.setAuthor(content);

// System.out.println("作者"+content);

}else if(qName.equals("year")){

book.setYear(Integer.parseInt(content));

// System.out.println("年份"+content);

}else if(qName.equals("price")){

book.setPrice(Double.parseDouble(content));

// System.out.println("价格"+content);

}else if(qName.equals("book")){ //当结束当前book解析时,将该book添加到数组后置为空,方便下一次book赋值

list.add(book);

book = null;

}

}

/**

* 此方法用来获取节点的值

*/

@Override

public void characters(char[] ch, int start, int length) throws SAXException {

super.characters(ch, start, length);

content = new String(ch, start, length);

//收集不为空白的节点值

// if(!content.trim().equals("")){

// System.out.println("节点值为:"+content);

// }

}

public List getBooks(){

return list;

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

import java.io.IOException;

import java.util.List;

import javax.xml.parsers.ParserConfigurationException;

import javax.xml.parsers.SAXParser;

import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.SAXException;

import org.xml.sax.helpers.ParserFactory;

import com.lune.bean.Book;

import com.lune.handler.SAXParseHandler;

/**

* 用SAX方式读取xml文件

* @author lune

*/

public class ReadXmlBySAX {

private static List books = null;

private  SAXParserFactory sParserFactory = null;

private  SAXParser parser = null;

public List getBooks(String fileName) throws Exception{

SAXParserFactory sParserFactory = SAXParserFactory.newInstance();

SAXParser parser = sParserFactory.newSAXParser();

SAXParseHandler handler = new SAXParseHandler();

parser.parse(fileName, handler);

return handler.getBooks();

}

/**

* @param args

*/

public static void main(String[] args) {

try {

books = new ReadXmlBySAX().getBooks(“src/res/books.xml”);

for(Book book:books){

System.out.println(book);

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

import java.io.IOException;

import java.util.List;

import javax.xml.parsers.ParserConfigurationException;

import javax.xml.parsers.SAXParser;

import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.SAXException;

import org.xml.sax.helpers.ParserFactory;

import com.lune.bean.Book;

import com.lune.handler.SAXParseHandler;

/**

* 用SAX方式读取xml文件

* @author lune

*/

public class ReadXmlBySAX {

private static List books = null;

private SAXParserFactory sParserFactory = null;

private SAXParser parser = null;

public List getBooks(String fileName) throws Exception{

SAXParserFactory sParserFactory = SAXParserFactory.newInstance();

SAXParser parser = sParserFactory.newSAXParser();

SAXParseHandler handler = new SAXParseHandler();

parser.parse(fileName, handler);

return handler.getBooks();

}

/**

* @param args

*/

public static void main(String[] args) {

try {

books = new ReadXmlBySAX().getBooks("src/res/books.xml");

for(Book book:books){

System.out.println(book);

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

3.JDOM方式解析XML

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

import org.jdom2.JDOMException;

import org.jdom2.input.SAXBuilder;

import com.lune.bean.Book;

import org.jdom2.*;

/**

* 用JDOM方式读取xml文件

* @author lune

*/

public class ReadXMLByJDom {

private List books = null;

private Book book = null;

public List getBooks(String fileName){

SAXBuilder saxBuilder = new SAXBuilder();

try {

Document document = saxBuilder.build(new FileInputStream(fileName));

//获取根节点bookstore

Element rootElement = document.getRootElement();

//获取根节点的子节点,返回子节点的数组

List bookList = rootElement.getChildren();

books = new ArrayList();

for(Element bookElement : bookList){

book = new Book();

//获取bookElement的属性

List bookAttributes = bookElement.getAttributes();

for(Attribute attribute : bookAttributes){

if(attribute.getName().equals(“id”)){

String id = attribute.getValue(); //System.out.println(id);

book.setId(Integer.parseInt(id));

}

}

//获取bookElement的子节点

List children = bookElement.getChildren();

for(Element child : children){

if(child.getName().equals(“name”)){

String name = child.getValue();//System.out.println(name);

book.setName(name);

}else if(child.getName().equals(“author”)){

String author = child.getValue();

book.setAuthor(author);//System.out.println(author);

}else if(child.getName().equals(“year”)){

String year = child.getValue();

book.setYear(Integer.parseInt(year));

}else if(child.getName().equals(“price”)){

String price = child.getValue();

book.setPrice(Double.parseDouble(price));

}

}

books.add(book);

book = null;

}

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (JDOMException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

return books;

}

public static void main(String[] args) {

// TODO Auto-generated method stub

String fileName = ”src/res/books.xml”;

List books= new ReadXMLByJDom().getBooks(fileName);

for(Book book : books){

System.out.println(book);

}

}

}

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

import org.jdom2.JDOMException;

import org.jdom2.input.SAXBuilder;

import com.lune.bean.Book;

import org.jdom2.*;

/**

* 用JDOM方式读取xml文件

* @author lune

*/

public class ReadXMLByJDom {

private List books = null;

private Book book = null;

public List getBooks(String fileName){

SAXBuilder saxBuilder = new SAXBuilder();

try {

Document document = saxBuilder.build(new FileInputStream(fileName));

//获取根节点bookstore

Element rootElement = document.getRootElement();

//获取根节点的子节点,返回子节点的数组

List bookList = rootElement.getChildren();

books = new ArrayList();

for(Element bookElement : bookList){

book = new Book();

//获取bookElement的属性

List bookAttributes = bookElement.getAttributes();

for(Attribute attribute : bookAttributes){

if(attribute.getName().equals("id")){

String id = attribute.getValue(); //System.out.println(id);

book.setId(Integer.parseInt(id));

}

}

//获取bookElement的子节点

List children = bookElement.getChildren();

for(Element child : children){

if(child.getName().equals("name")){

String name = child.getValue();//System.out.println(name);

book.setName(name);

}else if(child.getName().equals("author")){

String author = child.getValue();

book.setAuthor(author);//System.out.println(author);

}else if(child.getName().equals("year")){

String year = child.getValue();

book.setYear(Integer.parseInt(year));

}else if(child.getName().equals("price")){

String price = child.getValue();

book.setPrice(Double.parseDouble(price));

}

}

books.add(book);

book = null;

}

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (JDOMException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

return books;

}

public static void main(String[] args) {

// TODO Auto-generated method stub

String fileName = "src/res/books.xml";

List books= new ReadXMLByJDom().getBooks(fileName);

for(Book book : books){

System.out.println(book);

}

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

4.DOM4j方式解析XML

import java.io.File;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

import org.dom4j.Attribute;

import org.dom4j.Document;

import org.dom4j.DocumentException;

import org.dom4j.Element;

import org.dom4j.io.SAXReader;

import com.lune.bean.Book;

/**

* 用DOM4J方法读取xml文件

* @author lune

*/

public class ReadXMLByDom4j {

private List bookList = null;

private Book book = null;

public List getBooks(File file){

SAXReader reader = new SAXReader();

try {

Document document = reader.read(file);

Element bookstore = document.getRootElement();

Iterator storeit = bookstore.elementIterator();

bookList = new ArrayList();

while(storeit.hasNext()){

book = new Book();

Element bookElement = (Element) storeit.next();

//遍历bookElement的属性

List attributes = bookElement.attributes();

for(Attribute attribute : attributes){

if(attribute.getName().equals(“id”)){

String id = attribute.getValue();//System.out.println(id);

book.setId(Integer.parseInt(id));

}

}

Iterator bookit = bookElement.elementIterator();

while(bookit.hasNext()){

Element child = (Element) bookit.next();

String nodeName = child.getName();

if(nodeName.equals(“name”)){

//System.out.println(child.getStringValue());

String name = child.getStringValue();

book.setName(name);

}else if(nodeName.equals(“author”)){

String author = child.getStringValue();

book.setAuthor(author);

}else if(nodeName.equals(“year”)){

String year = child.getStringValue();

book.setYear(Integer.parseInt(year));

}else if(nodeName.equals(“price”)){

String price = child.getStringValue();

book.setPrice(Double.parseDouble(price));

}

}

bookList.add(book);

book = null;

}

} catch (DocumentException e) {

e.printStackTrace();

}

return bookList;

}

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

File file = new File(“src/res/books.xml”);

List bookList = new ReadXMLByDom4j().getBooks(file);

for(Book book : bookList){

System.out.println(book);

}

}

}

import java.io.File;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

import org.dom4j.Attribute;

import org.dom4j.Document;

import org.dom4j.DocumentException;

import org.dom4j.Element;

import org.dom4j.io.SAXReader;

import com.lune.bean.Book;

/**

* 用DOM4J方法读取xml文件

* @author lune

*/

public class ReadXMLByDom4j {

private List bookList = null;

private Book book = null;

public List getBooks(File file){

SAXReader reader = new SAXReader();

try {

Document document = reader.read(file);

Element bookstore = document.getRootElement();

Iterator storeit = bookstore.elementIterator();

bookList = new ArrayList();

while(storeit.hasNext()){

book = new Book();

Element bookElement = (Element) storeit.next();

//遍历bookElement的属性

List attributes = bookElement.attributes();

for(Attribute attribute : attributes){

if(attribute.getName().equals("id")){

String id = attribute.getValue();//System.out.println(id);

book.setId(Integer.parseInt(id));

}

}

Iterator bookit = bookElement.elementIterator();

while(bookit.hasNext()){

Element child = (Element) bookit.next();

String nodeName = child.getName();

if(nodeName.equals("name")){

//System.out.println(child.getStringValue());

String name = child.getStringValue();

book.setName(name);

}else if(nodeName.equals("author")){

String author = child.getStringValue();

book.setAuthor(author);

}else if(nodeName.equals("year")){

String year = child.getStringValue();

book.setYear(Integer.parseInt(year));

}else if(nodeName.equals("price")){

String price = child.getStringValue();

book.setPrice(Double.parseDouble(price));

}

}

bookList.add(book);

book = null;

}

} catch (DocumentException e) {

e.printStackTrace();

}

return bookList;

}

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

File file = new File("src/res/books.xml");

List bookList = new ReadXMLByDom4j().getBooks(file);

for(Book book : bookList){

System.out.println(book);

}

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

其中后两者需要导入外部jar包.

文章中的源码可在下面地址下载:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值