xml解析-jaxp添加结点

本文详细介绍了如何使用JAXP在XML文档中添加新的结点。通过创建解析器工厂、解析器,并利用DOM操作添加自定义标签及文本内容,最后将修改后的XML文档回写到文件中。

jaxp添加结点

eg:

//在第一个下面添加nv
/
1.创建解析器工厂
* 2.根据解析器工厂创建解析器
* 3.解析xml返回document
*
* 4.得到第一个p1
* -得到所有p1使用item方法得到第一个p1
*
* 5.创建sex标签 createElement
* 6.创建文本 createTextNode
* 7.把文本添加到sex下面appendChild方法
* 8.把sex添加到第一个p1的下面
*
* 9.回写xml
* */

private static void addNode() throws ParserConfigurationException, SAXException, IOException,
            TransformerFactoryConfigurationError, TransformerConfigurationException, TransformerException {
        
        //创建解析器工厂
        DocumentBuilderFactory builderFactoty = DocumentBuilderFactory.newInstance();
        //创建解析器
        DocumentBuilder builder = builderFactoty.newDocumentBuilder();
        //解析xml返回document
        Document document = builder.parse("src/person.xml");
        
        //得到第一个p1元素
        NodeList nodeLists = document.getElementsByTagName("p1");
        Node p1 = nodeLists.item(0);
        //System.out.println(nodeLists.item(0).getTextContent());
        //创建sex标签
        Element sex1 = document.createElement("sex");
        //创建nv文本
        Text nv = document.createTextNode("nv");
        sex1.appendChild(nv);
        //Node  nv = sex.createTextNode("nv");
        //添加到p1下
        p1.appendChild(sex1);
        System.out.println(p1.getTextContent());
        
        //回写xml
        TransformerFactory transformFactory = TransformerFactory.newInstance();
        Transformer transformer = transformFactory.newTransformer();
        transformer.transform(new DOMSource(document), new StreamResult("src/person.xml"));
    }

转载于:https://www.cnblogs.com/selfdef/p/11093654.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值