XML语法与解析

XML语法与解析

一、概念

XML是一种通用的数据交换格式

二、语法

1.必需有声明,声明必需在第一行

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

2.必须有且仅有一个根标签

3.有开始必需有结束

4.不允许交叉嵌套

5.属性必需有值,值必需用引号引起来

6.同一个标签中属性名不能相同,但是一个标签可以有多个同名的子标签

7.对于一些特殊字符,若要在元素主体内容中显示必须进行转义

8.CDATA区把标签当做普通文本内容

<![CDATA[数据内容]]>

三、XML约束

根据自己的要求规范我们的xml标签

1.dtd约束

2.Schema约束

四、DOM模型(掌握)

D:Document XML文档

O:Object Java对象

M: Model 模型

对象

1.Node(节点)

2.Element (元素)

3.Attribute(属性)

4.Text(文本)

一切皆节点:所有的对象都是Node对象

五、使用Dom4J进行解析

XPATH查看API

(一)拿到Document对象

File file = new File("F:/eclipseWorkSpace/Day25-XML/Persons.xml");
	@Test
	public void testName() throws Exception {
		SAXReader reader = new SAXReader();
         Document document = reader.read(file);

(二)拿到一个节点的文本

 //通过文档获得根节点
 Element root = document.getRootElement();
 //通过根节点拿到子节点
 List elements = root.elements();

(三)修改一个元素

Element persons = document.getRootElement();
Element person = persons.element("Person");
//拿到第二个根节点
person.setAttributeValue("id", "2");
//拿到name元素修改元素
person.element("name").setText("王瘸子");
//拿到age元素修改元素
person.element("age").setText("18");

(四)添加一个元素

Element root = document.getRootElement();
Element person = root.addElement("person");
//拿到第三个根节点添加元素
person.setAttributeValue("id", "3");
person.addElement("name").setText("武大郎");
person.addElement("age").setText("18");

(五)删除一个指定元素

Element root = document.getRootElement();
Node pson4 = root.selectSingleNode("/Persons/person[last()]");
root.remove(pson3);

(六)获取id属性

  //获得person id属性
  Attribute attribute = person.attribute("id");

(七)关流

XMLWriter writer = new XMLWriter(new FileWriter( file ));
writer.write( document );
writer.close()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值