开发者学堂课程【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"));
}
分析过程:
Transformer 是一个抽象类,实例需要回写 TransformerFactory 得到
TransformerFactory 也是一个抽象类,实例是 newInstance。