且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

使用JAXP查添加节点 | 学习笔记

更新时间:2022-08-20 13:05:08

开发者学堂课程【XML入门使用JAXP查添加节点】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/37/detail/852


使用JAXP查添加节点


在第一个p1下面(末尾)添加 <sex>nv</sex>

步骤:

1、创建解析器工厂

2、根据解析器工厂创建解析器

3、解析 xml,返回 document

4、得到第一个 p1

-得到所有 p1,使用 item 方法下标得到

5、创建 sex 标签 createElement

6、创建文本 createTextNode

7、把文本添加到 sex 下面 appendChild

8、把 sex 添加到第一个 p1 下面 appendChild

9、回写 xml

​public class TestJAXP {

public static void main(string[] args) throws Exception {

// selectAll();

//selectSin();

AddSex();

}

//在第一个 p1 下面(末尾〉添加 <sex>nv</ sex>

//创建解析器工厂

DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();

//创建解析器

DocumentBuilder builder = builderFactory.newDocumentBuilder();

//得到 document

Document document = builder.parse( "src/person.xml");

//得到所有的 p1

NodeList list = document.getElementsByTagName("p1");

//得到第一个 p1

Node p1 = list.item(0);

//创建标签

Element sex1 = document.createElement( "sex" );

//创建文本

Text text1 = document.createTextNode( "nv" );

//把文本添加到 sex1 下面

sex1.appendChild(text1);

//把 sex1 添加到 p1 下面

p1.appendChild(sex1);

//回写 xml

TransformerFactory transformerFactory = TransformerFactory.newInstance();

Transformer transformer = transformerFactory.newTransformer();

transformer.transform(new DOMSource(document), new StreamResult("src/person.xml"));

}

分析过程:

使用JAXP查添加节点 | 学习笔记

Transformer 是一个抽象类,实例需要回写 TransformerFactory 得到

TransformerFactory 也是一个抽象类,实例是 newInstance。