【问题标题】:parsing the xml to get the root element and then add a tag dynamically under the root tag解析xml获取根元素,然后在根标签下动态添加标签
【发布时间】:2012-08-22 13:19:57
【问题描述】:

我想解析 xml 文件以获取根元素。然后在该根标签下追加添加名为 first-name 的标签。我该怎么做呢 ?这就是我现在一直在做的事情:

        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = dbf.newDocumentBuilder();            
        Document document = db.newDocument();

        Element blobKey_E = document.createElement("first-name");
        blobKey_E.appendChild( document.createTextNode( name ) );
        // NOW APPEND blobKey_E to the root element 
        // After getting the root element from the xml in some directory

        TransformerFactory tf = TransformerFactory.newInstance();
        Transformer transformer = tf.newTransformer();
        DOMSource source = new DOMSource(document);
        StreamResult result = new StreamResult(new File("/home/non-admin/NetBeansProjects/Personal Site_Testers/web/xml/xml_1.xml"));
        transformer.transform(source, result);

【问题讨论】:

    标签: java dom xml-parsing


    【解决方案1】:
    Element root = document.getDocumentElement();
    root.appendChild(document.createElement("first-name"));
    

    first-name 附加到 DOM 树的末尾

    插入第一个位置有点困难...

    Element root = document.getDocumentElement();
    if (root.hasChildNodes()) {
        Node firstChild = root.getFirstChild();
        root.insertBefore(document.createElement("first-name"), firstChild);
    } else {
        // Append to as per previous example
    }
    

    更新

    Eleement firstName = document.createElement("first-name");
    firstName.setTextContent("Henry");
    

    【讨论】:

    • root.appendChild(document.createElement("first-name")); 这很好。如何在标签first-name 内插入文本?
    猜你喜欢
    • 2021-10-14
    • 2013-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多