`
雨过天晴0521
  • 浏览: 155194 次
  • 性别: 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();
        }

    }
}

分享到:
评论

相关推荐

    用VB 6操作XML文件

    用VB操作XML '生成一个XML DOMDocument对象 Set xmlDOMDocument = New MSXML2.DOMDocument '生成根节点,在此我们称它为“爷爷辈”节点 Set Root_Node = xmlDOMDocument.createElement("Root") Set ...

    使用dom4j读写XML文档

    使用dom4j读写XML文档 1.获取文档的根节点. Element rootElm = document.getRootElement(); 2.取得某节点的单个子节点. Element memberElm=root.element("member");// "member"是节点名 3.取得节点的文字 String ...

    Tinyxml 源代码(VC6 & VS2005)

    TinyXML支持UTF-8,所以可以处理任何语言的XML文件,而且TinyXML也支持“legacy模式”——一种在支持UTF-8之前使用的编码方式,可能最好的解释是“扩展的ascii”。 正常情况下,TinyXML会检测出正确的编码并使用它...

    QT对XML增删查改读取,节点自定义,键值自定义

    QT对XML进行,创建文件,添加节点,查找节点,删除节点,在节点下添加键值,读取指定节点下键值。最多支持4层节点。如果要需要在多级的节点进行操作,可以参照我的函数进行添加重载函数,很方便的。

    c#操作XML.rar

    //加载指定的XML文件 myXml.Load(FileName); //添加元素-姓名 XmlElement ele0 = myXml.CreateElement("name"); XmlText Text0 = myXml.CreateTextNode(name); //添加元素-年龄 XmlElement ele1 = myXml....

    XMl实用大全(资料全易学习)

    3.1.3 将XML文件装入Web浏览器 35 .2 考察简单的XML文档 37 3.3 赋于XML标记以意义 39 .4 为XML文档编写样式单 40 .5 将样式单附加到XML文档上 41 3.6 本章小结 43 第4章 数据的结构化 44 4.1 检查数据 44 4.1.1 ...

    python读取并修改XML文件

    在VOC格式的SSD训练数据标签中添加图片宽高等信息,并进行坐标越界检查。... '''''读取并解析xml文件 in_path: xml路径 return: ElementTree''' tree = ElementTree() tree.parse(in_path) return tree

    操作XMLHelper遍历节点

    最近开发用到了XML配置参数,比起Config方便很多,晚上整理了一下代码,给大家做了个Demo分享一下 1、自动添加多级子节点,如果存在则在后面增加Element 2、自动删除任意子节点及... 6、自动生成XML文件及root节点

    XML实用大全----xml详细参考书

    3.1.3 将XML文件装入Web浏览器... 35 .2 考察简单的XML文档... 37 3.3 赋于XML标记以意义... 39 .4 为XML文档编写样式单... 40 .5 将样式单附加到XML文档上... 41 3.6 本章小结... 43 第4章 数据的结构化... ...

    xml4wrapper_3.6.2.7z

    Summary: xml4wrapper 3.6.2, 支持libxml2-2.7.8 或 xercesc2.8或tinyxml2或rapidxml封装的xml配置文件解析和操作统一C++接口, 支持XPATH的方式访问和操作XML节点信息. 操作非常相当之方便, 相应库的更高版本也行...

    跨平台解析XML文件 XmlNode V1.01测试版

    为保证xml文件格式正确,将自动在Xml中添加声明 ***************************************************/ bool SaveFile(string sPath); /*************************************************** Type: public ...

    android xml文件操作

    xml文件操作 public class XmlUtils { /** * 获取Document对象。根据xml文件的名字获取Document对象。 * * @param file * 要获取对象的xml文件全路径。 * @return 返回获取到的Document对象。 * @...

    day023-xml解析笔记和代码.rar

    D Document 文档(XML文档) : 磁盘上面的xml文件 O Object 对象(Java对象) : 把xml文件封装成Java对象 M Model 模型 解析过程中用到的类: Document Node(节点) Element (元素) ...

    xml实用大全和轻松学习手册和无废话xml

    14.9.2 使用xsl:element将元素插入到输出文档中 475 14.9.3 使用xsl:attribute将特性插入到输出文档中 476 14.9.4 定义特性集合 477 14.9.5 使用xsl:pi生成处理指令 478 14.9.6 使用xsl:comment生成注释 478 14.9.7 ...

    Python 解析XML文件

    Python文件: 复制代码 代码如下:#parsexml.py #本例子参考自python联机文档,做了适当改动和添加 import xml.parsers.expat #控制打印缩进 level = 0 #获取某节点名称及属性值集合 def start_element(name, attrs):...

    DWR.xml配置文件说明书(含源码)

    &lt;creator id="new" class="uk.ltd.getahead.dwr.create.NewCreator"/&gt;DWR已经将这配置到了内置的dwr.xml文件中,并不需要进行额外的配置. Creator通过调用类的默认的构造方法创建实例.应用new creator有以下几个优点:...

    XML操作帮助类C#实现

    XML(可扩展标记语言)是一种用于存储和传输数据的标记语言。...5. 注释(Comments):XML还支持添加注释,以便在文档中添加说明或备注。注释使用 `&lt;!-- --&gt;` 符号进行包围。 6. 文档类型定义(Document Type Defin

    XML实用大全(web开发必备手册)

    3.1.3 将XML文件装入Web浏览器... 35 .2 考察简单的XML文档... 37 3.3 赋于XML标记以意义... 39 .4 为XML文档编写样式单... 40 .5 将样式单附加到XML文档上... 41 3.6 本章小结... 43 第4章 数据的结构化... ...

    Python Xml文件添加字节属性的方法

    from xml.etree.cElementTree import ElementTree,Element import xlrd import re def read_xlsx(xlsx_path): workbook = xlrd.open_workbook(xlsx_path) booksheet = workbook.sheet_by_name("Sheet1") p = list...

    dom4j生成xml

    项目文档、数据库建表语句均已放置在项目中。 关键代码如下: public String getXml(Connection conn, int rm_id, String path) { //声明xml字符串 String fileString = ""; //创建DAO对象 ...

Global site tag (gtag.js) - Google Analytics