预备知识:Java数据持久化->XML文件(二)
作者:reader1   类别:PHP开发    日期:2018-09-11 11:44:22    阅读:652 次   消耗积分:0 分


注:本节教材内容,与上期推送的《预备知识:Java数据持久化->XML文件(一)》为一个章节。

回顾上节内容,请点击:预备知识:Java数据持久化->XML文件(一)




实验流程



4.利用DOM修改XML。


public void modifyXmlByDom() {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    dbf.setIgnoringElementContentWhitespace(true);
    String xmlName = System.getProperty("user.dir") + "\\data\\Students.xml";
    try {
        DocumentBuilder db = dbf.newDocumentBuilder();
        Document doc = db.parse(xmlName);
        // 获取根节点
        Element root = doc.getDocumentElement();
        // 利用xpath定位sequence为2的节点
        XPathFactory xpathFactory = XPathFactory.newInstance();
        XPath xpath = xpathFactory.newXPath();
        Element node = (Element)xpath.evaluate(
"/class/student[@sequence='2']", root, XPathConstants.NODE);
        // 将degree节点的内容更改为研究生
        node.getElementsByTagName("degree").item(0).setTextContent("研究生");
        // 保存
        TransformerFactory factory = TransformerFactory.newInstance();
        Transformer former = factory.newTransformer();
        former.transform(new DOMSource(doc), new StreamResult(
new File(xmlName)));
    } catch (Exception e) {
        System.out.println(e.getMessage());
    }
}



在上述代码中,我们引入了一个新的知识点:Xpath,XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。

同样的,Xpath的寻找节点的功能也适用于对HTML文档进行查找。后续我们在使用Selenium对HTML文档元素进行查找时也会用到。


5.利用DOM删除XML。


// 与修改节点内容类似,只需要对查找到的节点进行删除即可
root.removeChild(node);



上述代码只是简单地为大家展示了如何使用标准的DOM接口来完成XML文件的增删改查的操作,事实上DOM接口是W3C定义的标准接口,任何编程语言都可以支持。除了上述代码以外,我们在实际应用中,还会基于具体的业务需要进行二次封装,使调用更加方便,增强代码的重用性。

版权所有,转载本站文章请注明出处:蜗牛笔记, http://www.woniunote.com/article/65
上一篇:实验:Java数据持久化->XML文件(一)
下一篇:实验:Java数据持久化->JDBC数据库
${comment['nickname']}   ${comment['createtime']}
  
       
${comment.content}
${reply.nickname} 回复 ${comment.nickname}    ${reply.createtime}
     
  
回复内容:${reply.content}