第二十二天笔记xml

1.标签

  1. 分类:双标签:容器标签 单标签:空标签
  2. 写法注意事项:(1)严格区分大小写(2)标签名的规则和Java标识符类似(不能数字开头没有$)(3)属性(key=”value”),必须用引号来括起来(4)xml文件中只有一个根节点
  3. xml文件中的节点类型:标签节点,属性节点,文本节点
  4. 需求 文本内容为:特殊字符< & lt;>& gt;” &quot

1.2

  1. Dom解析:将整个xml加载到内存中,生成Dom树,从根节点开始一次查找自己需要的内容
  2. 步骤:

    (1.)生成解析器SAXReader reader= new SAXReader();

    (2)加载xml内容,生成Document兑现

    (3)获取根节点:Element e=document.getRootElement();

    获取标签的常用方法:

    ele.element(标签名)ele标签下的第一个指定的子标签

    ele.elements(标签名)ele标签下的所有指定的名字的子标签集合 List

    ele.element()ele标签的所有子标签集合List

    获取标签属性的方法

    ele.attribute( 属性名 ) ele标签内的名字为属性名的属性对象Attribute

    att.getName() 属性名 att.getValue() 属性值

    ele.attributes() ele标签内的所有属性集合 List

    ele.attributeValue( 属性名 ) S ele标签内的名字为属性名的对应值 string

    获取文本的常用方法

    ele.getText() 该标签之间的文本内容 String

    ele.elementText( 子标签 ) 该标签下的子标签中的文本内容

1.2SAX解析

  1. 原理:一点一点类似扫描的形式,对xml的数据一点一点的进行解析对内存要求不高
  2. 步骤:

    (1)创建解析工厂SAXParserFactory fac= SAXParserFactory.newInstance();

    (2)创建解析对象SAXParser parser = fac.newSAXParser();

    (3)解析器对象解析xml解析方法需要自己定义
    parser.parse(new File(“src/day22/demo1/worker.xml”),
    new MyDefaultHanlder());
    其中MyDefaultHanlder要继承DefaultHanlder

    (4)重写其中的部分方法

A. startDocument() 文档开始

B. startElement (String uri, String localName, String qName, Attributes attributes) 标签开始,参数qName 标签名 attributes 属性容器

C. characters(char[] ch, int start, int length)
文本节点开始
参数ch 整个xml数据
start本次起始位置 length本次长度

D. endElement(String uri, String localName, String qName) 标签结束

E. endDocument() 文档结束

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章