SAX解析,如何修改XML文件中的节点属性

本文介绍了一个用于自动更新XML文档中版本号的Java工具。该工具解析指定路径下的XML文件,将找到的版本号递增并保存更改。使用DocumentBuilderFactory和TransformerFactory实现文档的读取与写入。
public static File upDescriptionVersion(String descriptionPath) {
    final File description = new File(descriptionPath);

    DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
    DocumentBuilder dBuilder;
    try {
        dBuilder = dbFactory.newDocumentBuilder();
        Document doc = dBuilder.parse(description);
        doc.getDocumentElement().normalize();

        NodeList employees = doc.getElementsByTagName("根结点");
        for (int i = 0; i < employees.getLength(); i++) {
            Node name = doc.getElementsByTagName("子节点").item(0).getFirstChild();
             //每次运行修改文件中版本+1
             name.setNodeValue((Integer.valueOf(name.getNodeValue().toUpperCase()) + 1) + "");
        }

        TransformerFactory tfactory = TransformerFactory.newInstance();
        Transformer transformer = tfactory.newTransformer();
        DOMSource source = new DOMSource(doc);
        //修改完后覆盖原文件
        File file = new File(descriptionPath);
        StreamResult result = new StreamResult(file);
        transformer.transform(source, result);
        return file;

    } catch (SAXException | ParserConfigurationException | IOException | TransformerException e1) {
        e1.printStackTrace();
    }
    return null;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值