`
雨过天晴0521
  • 浏览: 159369 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

如何给xml文件添加新的element

    博客分类:
  • java
 
阅读更多
下面是一个例子, 如何添加新的</property>
<properties>

</property>
...
...
<property>
  <name>Workaround</name>
<option>java.property.com.entrust.toolkit.x509.CertVerifier.ForceV1CertAsCA</option>
  <default>true</default>
  <description>thanks</description>
</property>

</properties>

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;

/**
 * Created by IntelliJ IDEA.
 * User: Michael
 * Date: 12/3/11
 * Time: 3:16 PM
 * To change this template use File | Settings | File Templates.
 */
public class XMLApender {

    public static void main(String[] args) {

        DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder docBuilder = null;
        OutputStreamWriter outputStreamWriter = null;
        try {
            docBuilder = docFactory.newDocumentBuilder();
            Document doc = docBuilder.parse("C:\\Documents and Settings\\Michael\\My Documents\\bwengine.xml");

            Element properties = doc.getDocumentElement();
            NodeList nodeList = doc.getElementsByTagName("option");
            for(int i=0; i< nodeList.getLength(); i++){
                    Node  node = nodeList.item(i);
                    String text = node.getTextContent();
                   if("java.property.com.entrust.toolkit.x509.CertVerifier.ForceV1CertAsCA".equals(text)){
                                     return;
                    }
            }

            FileOutputStream outputStream = new FileOutputStream("C:\\Documents and Settings\\Michael\\My Documents\\bwengine.xml");
            outputStreamWriter = new OutputStreamWriter(outputStream);

            Node property = doc.createElement("property");

            Node name = doc.createElement("name");
            name.setTextContent("Workaround");
            Node option = doc.createElement("option");
            option.setTextContent("java.property.com.entrust.toolkit.x509.CertVerifier.ForceV1CertAsCA");
            Node defau1t = doc.createElement("default");
            defau1t.setTextContent("true");
            Node description = doc.createElement("description");
            description.setTextContent("thanks");

            property.appendChild(name);
            property.appendChild(option);
            property.appendChild(defau1t);
            property.appendChild(description);

            properties.appendChild(property);

            Transformer transformer = TransformerFactory.newInstance().newTransformer();
            transformer.setOutputProperty(OutputKeys.INDENT, "yes");
            StreamResult result = new StreamResult(outputStreamWriter);
            DOMSource source = new DOMSource(doc);
            transformer.transform(source, result);

            outputStreamWriter.flush();
            outputStreamWriter.close();

            String xmlString = result.getWriter().toString();
            System.out.println(xmlString);


        } catch (ParserConfigurationException e) {
            e.printStackTrace();
        } catch (SAXException e) {
            e.printStackTrace();
        } catch (TransformerConfigurationException e) {
            e.printStackTrace();
        } catch (TransformerException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

分享到:
评论

相关推荐

    C# LinqXML添加注释到XML文件

    本教程将详细介绍如何利用C#的Linq to XML技术来添加注释到XML文件。 首先,了解Linq to XML的基本概念。Linq to XML是.NET Framework 3.5及更高版本引入的一种新方法,用于创建、查询和操作XML文档。它简化了XML...

    C# LinqXML添加声明到XML文件

    4. 添加XML内容:接下来,我们可以使用LINQ to XML的API向XML文档添加元素、属性等。 ```csharp XElement root = new XElement("RootElement"); root.Add(new XElement("ChildElement", "Some content")); doc.Add...

    xml文件处理程序

    1. 增加:向XML文件添加新的元素或属性。这通常通过DOM(Document Object Model)解析器完成,首先解析XML文档为内存中的节点树,然后在适当位置插入新节点。 2. 删除:移除特定元素或属性。同样使用DOM,找到要删除...

    xml文件的操作,包括xml文件读写,添加删除结点等

    写入XML文件则需要创建新的`Element`对象,添加子节点,然后使用`ElementTree`的`write()`方法输出到文件: ```python new_node = ET.SubElement(root, 'new_element') new_node.set('attribute', 'value') new_...

    pb下读写xml文件的例子.rar_pb_pb 读取xml_pb 读取xml文件_pb9 xml_pb下读写xml文件的例子

    在PowerBuilder(简称PB)这个强大的开发环境中,处理XML文件是一项常见的任务。XML(Extensible Markup Language)是一种用于存储和传输数据的通用格式,尤其在跨平台和网络应用中广泛使用。本示例主要探讨如何在...

    向xml添加数据 xml插入数据 xml添加操作

    在Java中,处理XML文件包括解析、创建、修改等操作,本篇文章将重点讲解如何使用Java向XML文件中添加数据。 首先,描述中的"Test.java"是实现XML添加数据功能的Java源代码,而"jdom.jar"和"sax.jar"是Java处理XML...

    xml新建添加修改删除

    在已有的XML文档中添加新元素,可以使用编程语言如Python的ElementTree库或Java的DOM API。以下是一个Python示例: ```python import xml.etree.ElementTree as ET # 创建根元素 root = ET.Element('root') # ...

    Python读写XML文件实例

    总结来说,Python通过`xml.etree.ElementTree`库提供了强大的XML处理能力,无论是创建新的XML文件还是读取和解析已有的XML文档,都非常便捷。通过`generate_xml.py`和`read_xml.py`这样的代码实例,开发者可以深入...

    生成XML文件ABAP程序

    根据提供的ABAP程序片段,...通过创建IXML工厂、构建DOM对象模型、设置属性和值、渲染以及保存文档,最终实现了生成并保存XML文件的目标。这种方法不仅适用于简单的XML文档,也可以扩展到更复杂的XML结构和数据类型。

    .net 操作 xml文档的 添加 修改 删除

    在.NET中,可以使用`XmlDocument`类创建新的XML文档或加载现有的XML文件。要向XML文档中添加元素,可以使用`CreateElement`方法创建一个新的`XmlElement`对象,然后使用`AppendChild`或`InsertAfter`方法将其添加到...

    操作xml文件_保存xml文件_操作XML_

    创建XML文件首先需要遵循XML的基本语法规则,如声明文档类型(`&lt;?xml version="1.0" encoding="UTF-8"?&gt;`),定义元素(Element)、属性(Attribute)和内容(Content)。XML文件的结构是由嵌套的元素构成的树状结构...

    halcon XML文件处理函数,halcon函数手册,Halcon

    另一方面,当完成一项任务并调整了相关参数后,可以使用`write_xml_file`将这些新设置保存回XML文件,以便于后续调用或与其他系统集成。 三、HALCON与XML的结合 Halcon的XML处理能力使其能够灵活地与使用XML的其他...

    QT使用TinyXML开源库解析XML文件

    在实际应用中,你可以根据需要对解析的XML数据进行操作,例如读取特定的节点值、修改元素属性、删除或添加新的元素等。TinyXML库提供了一套简洁的API,使得XML操作变得直观易懂。 通过这个例子,你可以了解如何在QT...

    XML文件追加Node节点

    在XML文件中,"Node"是构成XML文档的基本元素,包括元素(Element)、属性(Attribute)、文本(Text)、注释(Comment)、处理指令(Processing Instruction)等类型。本篇将深入探讨如何在XML文件中追加Node节点,...

    使用tinyxml 读写xml文件方法

    TinyXML 是一个小型、开源的 ...无论是读取现有的 XML 数据还是创建新的 XML 文档,通过理解和运用其提供的类和方法,开发者都能高效地进行 XML 编程。结合 Visual C++ 的特性,可以进一步扩展其在 GUI 应用中的功能。

    使用JDOM解析XML文件

    JDOM虽然功能强大,但在处理大型XML文件时可能效率较低,因为它需要将整个文档加载到内存。这时,可以考虑使用StAX或Java内置的DOM API,它们提供了流式处理或分块处理的能力,降低了内存消耗。 总结来说,JDOM是一...

    Csharp读写XML文件

    1. **XmlDocument**:这是处理XML文档的核心类,可以加载XML文件,进行DOM(Document Object Model)操作,如添加、删除、修改元素。 2. **XmlNode** 和其子类:XmlNode代表XML文档中的一个节点,如元素...

    C++ 读写XML文件

    XML文件由元素(Element)、属性(Attribute)、文本内容(Text Content)等组成,元素通过嵌套形成树状结构。每个元素都有一个开始标签()和结束标签(),属性则以键值对的形式出现在开始标签内,如:。 在C++中...

    自动生成XML文件列表工具

    XML文件的结构是基于元素(Element)和属性(Attribute)的。在这个工具生成的XML文件中,每个文件可能对应一个元素,元素下可以包含子元素或属性来表示文件的各种属性。例如,一个文件元素可能包含如下结构: ```...

    java解析XML文件

    如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;dom4j &lt;artifactId&gt;dom4j &lt;version&gt;2.1.3 ``` 接下来,我们将详细讲解如何使用DOM4J解析XML文件的步骤: 1. **读取XML文件**:...

Global site tag (gtag.js) - Google Analytics