xml and dom4j

1.xml

1.xml create and document declaration

	创建方式1:
	直接创建一个File文件,取名为xxx.xml
	创建方式2:
	         在IDEA中配置模板:
	                         setting-->搜索template-->new-->添加xml模板

The first line of the document declaration:

 <?xml version="1.0" encoding="utf-8"?>

Notes 2.xml document

<!--
注释内容
-->

Shortcuts to: ctrl + /

3.xml composition and Notes

1.xml的组成部分:
 (1)元素(标签) element
 (2)属性  attribute
2.xml的格式
 (1)<标签名>标签体</标签名>              闭合标签
     <表签名/>                          自闭合标签
 (2)<标签名>
            <子标签名>子标签题</子标签名>
     </标签名>
     标签中套标签

3. Notes

	a.标签名区分大小写
	b.标签中不能有空格
	c.不建议以XML  Xml  xml开头,不建议以数字开头
	d.一个良好的xml文档,都会有一个根标签

4. escape character

Common is the need to keep in mind:

                <  转义为  &lt
                >  转义为  &gt

5. The document is constrained (to know)

(1) dtd
扩展名为:dtd
#PCDATE:表示标签体中应为文本
#CDATE:表示标签中的属性的指应为字符型
#REQUIRED:表示属性必须设置
(2) Schema
扩展名为:xsd
文本本身为文档:W3C-----约束---->Schema----约束---->自己的文档

2.dom4j parse xml

Use DOM thinking, reading xml file
describes the core classes dom4j

1: SAXReader DOM parsing core idea of ​​the class

    方法: read(绑定了这个xml文件的输入流) 读取xml文件
    返回文档对象,返回值是Document对象

2: Document Object

   方法: getRootElement()获取文档的根标签
   返回值,返回的是标签对象 Element

3: Element label object

  方法获取子标签  List<Element>  elements()
  返回所有的子标签集合List
  方法 String attributeValue(String 属性名) 获取属性值
  方法 String getText() 获取到的是,标签体的文本部分
---------------------------xml文档------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<books>
    <book bookName="《架构师成长之路》" press="清华计算机(1)部"  date="2010-6-6"  price="125.00"></book>
    <book bookName="《JavaEE企业级开发》" press="清华计算机(2)部"  date="2011-5-5"  price="115.00"></book>
    <book bookName="《Oracle指南》" press="清华计算机(3)部"  date="2012-7-7"  price="89.00"></book>
</books>

-------------------------测试类-------------------------------------------


public class Test02 {
    public static void main(String[] args) throws Exception{
        //获取类的反射然后再使用获得的反射进行获取流对象
        InputStream in = Test02.class.getClassLoader().getResourceAsStream("books.xml");
        //创建一个SAXReader对象,然后进行读取xml文件
        SAXReader saxReader = new SAXReader();
        //使用SAXReader的读取功能,进行读xml的流
        Document document = saxReader.read(in);
        //使用Document对象获取根标签
        Element rootElement = document.getRootElement();
        //使用根标签获取子标签,返回一个泛型为Element的List集合
        List<Element> list = rootElement.elements();
        //遍历集合
        for (Element element : list) {
            String bookName = element.attributeValue("bookName");
            String press = element.attributeValue("press");
            String date = element.attributeValue("date");
            String price = element.attributeValue("price");
            System.out.println(bookName+"..."+press+"..."+date+"..."+price);
        }
    }
}

--------------------------输出结果-------------------------------
《架构师成长之路》...清华计算机(1)部...2010-6-6...125.00
《JavaEE企业级开发》...清华计算机(2)部...2011-5-5...115.00
《Oracle指南》...清华计算机(3)部...2012-7-7...89.00
Released three original articles · won praise 0 · Views 38

Guess you like

Origin blog.csdn.net/weixin_46666935/article/details/105332536