XML 相关题目
1. 定义 xml 文件
- 请定义 xml 文件,存储以下 “图书” 信息:
书名:《疯狂的程序员》,出版社:人民邮电出版社,出版日期:2010-6-6,价格:125.00
书名:《JavaEE企业级开发》,出版社:黑马研究院,出版日期:2011-5-5,价格:115.80
书名:《Oracle指南》,出版社:清华计算机,出版日期:2012-7-7,价格:89.00
- 要求:
(1)使用:文档声明;
(2)“标签名” 不可使用中文;
(3)文件名为:books.xml;
(4)根元素为:<books>
;
- bookshelf.dtd
<!ELEMENT books (book+)>
<!ELEMENT book (bookName,press,publicationDate,price)>
<!ELEMENT bookName (#PCDATA)>
<!ELEMENT press (#PCDATA)>
<!ELEMENT publicationDate (#PCDATA)>
<!ELEMENT price (#PCDATA)>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE books SYSTEM "bookshelf.dtd">
<books>
<book>
<bookName>《疯狂的程序员》</bookName>
<press>人民邮电出版社</press>
<publicationDate>2010-6-6</publicationDate>
<price>125.00</price>
</book>
<book>
<bookName>《JavaEE企业级开发》</bookName>
<press>黑马研究院</press>
<publicationDate>2011-5-5</publicationDate>
<price>115.80</price>
</book>
<book>
<bookName>《Oracle指南》</bookName>
<press>清华计算机</press>
<publicationDate>2012-7-7</publicationDate>
<price>89.00</price>
</book>
</books>
2. 用 dom4j 解析
- 请将 dom4j 包导入到项目中;
- 使用 dom4j 读取 1.1 的 books.xml 文件,解析每条数据,并打印。
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.util.List;
public class Test {
public static void main(String[] args) throws Exception {
SAXReader saxReader = new SAXReader();
Document doc = saxReader.read("Practice1/books.xml");
Element root = doc.getRootElement();
List<Element> elements = root.elements();
if (elements != null && elements.size() != 0) {
for (Element book : elements) {
String bookName = book.elementText("bookName");
String press = book.elementText("press");
String publicationDate = book.elementText("publicationDate");
String price = book.elementText("price");
System.out.println("书名:" + bookName + ",出版社:" + press +
",出版日期:" + publicationDate + ",售价:" + price);
}
}
}
}