xml和dom4j

1.xml

1.xml的创建以及文档声明

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

文档声明的第一行为:

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

2.xml文档的注释

<!--
注释内容
-->

快捷键为:ctrl+/

3.xml的组成与注意事项

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

3.注意事项

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

4.转义字符

常用的是需要记住:

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

5.文档约束(了解)

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

2.dom4j解析xml

使用DOM思想,读取xml文件
介绍dom4j 核心类

1: SAXReader DOM解析思想的核心类

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

2: Document对象

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

3:Element标签对象

  方法获取子标签  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
发布了3 篇原创文章 · 获赞 0 · 访问量 38

猜你喜欢

转载自blog.csdn.net/weixin_46666935/article/details/105332536
今日推荐