xml学习笔记

  1. xml文档规范
  

ANSI为计算机默认编码,一般为gbk,通常xml使用utf-8编码
2. xml标签
xml标签成对出现,可自定义标签,标签可嵌套
空标签:既是开始标签,也是结束标签
这里写图片描述
3. 属性的定义与注释
xml学习笔记_第1张图片

4. cdata(一般少见)
严格地讲,在 XML 中仅有字符 “<”和”&” 是非法的。省略号、引号和大于号是合法的


< <
& &
5. xml解析
一般只用这两种解析方式
Dom
Sax
xml学习笔记_第2张图片
解析手段
jaxp sun公司。 比较繁琐
jdom
dom4j 使用比较广泛
6. Dom4j 基本用法
element.element(“stu”) : 返回该元素下的第一个stu元素
element.elements(); 返回该元素下的所有子元素。
1. 创建SaxReader对象

2. 指定解析的xml

3. 获取根元素。

4. 根据根元素获取子元素或者下面的子孙元素
        try {
            //1. 创建sax读取对象
            SAXReader reader = new SAXReader(); //jdbc -- classloader
            //2. 指定解析的xml源
            Document  document  = reader.read(new File("src/xml/stus.xml"));

            //3. 得到元素、
            //得到根元素
            Element rootElement= document.getRootElement();

            //获取根元素下面的子元素 age
        //rootElement.element("age")
            //System.out.println(rootElement.element("stu").element("age").getText());


            //获取根元素下面的所有子元素 。 stu元素
            List elements = rootElement.elements();
            //遍历所有的stu元素
            for (Element element : elements) {
                //获取stu元素下面的name元素
                String name = element.element("name").getText();
                String age = element.element("age").getText();
                String address = element.element("address").getText();
                System.out.println("name="+name+"==age+"+age+"==address="+address);
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
 7.   Dom4j 的 Xpath使用    

dom4j里面支持Xpath的写法。 xpath其实是xml的路径语言,支持我们在解析xml的时候,能够快速的定位到具体的某一个元素。

  1. 添加jar包依赖(百度网盘有文件)

  2. 在查找指定节点的时候,根据XPath语法规则来查找

  3. 后续的代码与以前的解析代码一样。  
    //要想使用Xpath, 还得添加支持的jar 获取的是第一个 只返回一个。
    Element nameElement = (Element) rootElement.selectSingleNode("//name");
    System.out.println(nameElement.getText());
  System.out.println("----------------");
//获取文档里面的所有name元素
    List list = rootElement.selectNodes("//name");
    for (Element element : list) {
    System.out.println(element.getText());
    }
8.   xml约束  (了解)

dtd 语法自成一派, 早起就出现的。 可读性比较差。
Schema 其实就是一个xml , 使用xml的语法规则, xml解析器解析起来比较方便 , 是为了替代DTD 。但是Schema 约束文本内容比DTD的内容还要多。 所以目前也没有真正意义上的替代DTD
更多内容去百度网盘下载https://pan.baidu.com/s/1Ms9RHGf8xYdSQyTgXziBDA 密码:zy45

你可能感兴趣的:(学习笔记)