XML语法与解析

  1. xml
  2. 概念:一种可扩展的标记语言,格式严禁。用于数据的传输与存储,区别于HTML(用于数据显示)
  3. XML标签没有被预定义,需要用户自行定义标签。
  4. 特点:
    (1) 有开始必须有结束
    (2) 不允许交叉嵌套
    (3) 有且只有一个跟标签
    (4) 特殊符号的转译
    (5) 文档声明必须在第一行
    (6) 同一个标签中属性名不能相同;但是一个标签可以有多个同名的子标签
  5. xml约束:dtd约束、schema约束
  6. 约束的好处:可以去规范我们的xml标签(根据自己的要求),可以在工具上有相应的提示
  7. Dtd与schema的区别:
    Dtd没有人约束它,容易写错,功能要简单一些
    Schema:有相应的标签约束它,功能更加强大
  8. DOM模型
  9. DOM模型:Node(节点)、Element (元素)、Attribute(属性)简写Arr、Text(文本)
    (1) D(Document):文档(XML文档),磁盘上面的xml文件
    (2) O(Object):对象(Java对象),把xml文件封装成Java对象
    (3) M(Model):模型
  10. 使用原生API解析xml
  11. 解析xml:其实就是对XML进行增删改查
  12. 解析xml步骤:
    (1) 拿到 Document 对象:(f)属于xml文件的file对象
    XML语法与解析_第1张图片

(2) 得到根节点
在这里插入图片描述
(3) 根据名字获得该名字的所有节点的集合
在这里插入图片描述
(4) 增加节点并赋值且确认从属关系
XML语法与解析_第2张图片
XML语法与解析_第3张图片
XML语法与解析_第4张图片

(5) 修改
在这里插入图片描述
(6) 查询
在这里插入图片描述
(7) 删除
在这里插入图片描述
(8) 同步
XML语法与解析_第5张图片
4. Dom4J 解析xml

  1. dom4J 解析xml:可以从网上获得dom4j的资源
  2. 步骤
    (1) 拿到Document对象
    在这里插入图片描述
    (2) 获得根节点
    在这里插入图片描述
    (3) 根据名字获得所有节点的集合
    在这里插入图片描述
    (4) 增添
    XML语法与解析_第6张图片
    (5) 查询
    在这里插入图片描述
    (6) 修改
    在这里插入图片描述
    (7) 删除
    在这里插入图片描述
    (8) 设置/获取联系人的ID属性
    XML语法与解析_第7张图片
    (9) 输出格式
    XML语法与解析_第8张图片
    dom4J 总结:
    SAXReader
    |-read(File f) :读取文件
    Document
    |-getRootElement():获取根节点
    Element
    |-List elements(String name):获取该名字的所有元素
    |-Element element(String name):获取该名字的单个节点
    |-String getText():获取文本内容
    |-void setText(String str):给节点设置文本
    |-Element addElement(String str):添加节点
    |-Element addAttribute(String name,String value):设置属性
    |-Element getParent():获取父节点
    |-void remove(Element e):删除节点e
    XMLWriter
    |-write(Document dom):将一个dom对象写到一个xml文件中
    OutputFormat format = OutputFormat.createPrettyPrint();//定义一个格式

你可能感兴趣的:(XML语法与解析)