【问题标题】:updating a element inside a xml using dom使用 dom 更新 xml 中的元素
【发布时间】:2015-09-01 17:38:21
【问题描述】:

我以下列方式创建了一个 xml:

public static Document baseTemplate(String topLevel,String[] pkey) throws ParserConfigurationException{
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
    Document doc = builder.newDocument();
    Element top = doc.createElement(topLevel);
    for(int i= 0;i<pkey.length;i++){
        Element child = doc.createElement(pkey[i]);
        top.appendChild(child);        
    }
    doc.appendChild(top);
    return doc;
}

这会创建一个虚拟 xml,例如基于为 topLevel 和其中的各个元素传递的输入。

现在我希望以后能够使用值更新单个元素。基于传递的输入,xml 结构将是通用的。同样,更新逻辑也必须是通用的。我该如何实现?

【问题讨论】:

  • 你是如何实现的?

标签: java xml dom


【解决方案1】:

只是一个想法,“使用 XPATH 编辑 XML 或创建 XML”,对于每个 新输入,您需要有 XPATH那个标签你要更新哪个节点,试试这样的:

Document doc = /*you have this in your code */
XModifier modifier = new XModifier(doc);
modifier.addModify("//PersonList/Person[2]/Name", "newName");
modifier.modify();

您可以在此处找到有关 XModifier 的更多信息:https://github.com/shenghai/xmodifier 希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-18
    • 1970-01-01
    • 2012-01-12
    • 2012-07-15
    相关资源
    最近更新 更多