下面是一个例子, 如何添加新的</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#的Linq to XML技术来添加注释到XML文件。 首先,了解Linq to XML的基本概念。Linq to XML是.NET Framework 3.5及更高版本引入的一种新方法,用于创建、查询和操作XML文档。它简化了XML...
4. 添加XML内容:接下来,我们可以使用LINQ to XML的API向XML文档添加元素、属性等。 ```csharp XElement root = new XElement("RootElement"); root.Add(new XElement("ChildElement", "Some content")); doc.Add...
1. 增加:向XML文件添加新的元素或属性。这通常通过DOM(Document Object Model)解析器完成,首先解析XML文档为内存中的节点树,然后在适当位置插入新节点。 2. 删除:移除特定元素或属性。同样使用DOM,找到要删除...
写入XML文件则需要创建新的`Element`对象,添加子节点,然后使用`ElementTree`的`write()`方法输出到文件: ```python new_node = ET.SubElement(root, 'new_element') new_node.set('attribute', 'value') new_...
在PowerBuilder(简称PB)这个强大的开发环境中,处理XML文件是一项常见的任务。XML(Extensible Markup Language)是一种用于存储和传输数据的通用格式,尤其在跨平台和网络应用中广泛使用。本示例主要探讨如何在...
在Java中,处理XML文件包括解析、创建、修改等操作,本篇文章将重点讲解如何使用Java向XML文件中添加数据。 首先,描述中的"Test.java"是实现XML添加数据功能的Java源代码,而"jdom.jar"和"sax.jar"是Java处理XML...
在已有的XML文档中添加新元素,可以使用编程语言如Python的ElementTree库或Java的DOM API。以下是一个Python示例: ```python import xml.etree.ElementTree as ET # 创建根元素 root = ET.Element('root') # ...
总结来说,Python通过`xml.etree.ElementTree`库提供了强大的XML处理能力,无论是创建新的XML文件还是读取和解析已有的XML文档,都非常便捷。通过`generate_xml.py`和`read_xml.py`这样的代码实例,开发者可以深入...
根据提供的ABAP程序片段,...通过创建IXML工厂、构建DOM对象模型、设置属性和值、渲染以及保存文档,最终实现了生成并保存XML文件的目标。这种方法不仅适用于简单的XML文档,也可以扩展到更复杂的XML结构和数据类型。
在.NET中,可以使用`XmlDocument`类创建新的XML文档或加载现有的XML文件。要向XML文档中添加元素,可以使用`CreateElement`方法创建一个新的`XmlElement`对象,然后使用`AppendChild`或`InsertAfter`方法将其添加到...
创建XML文件首先需要遵循XML的基本语法规则,如声明文档类型(`<?xml version="1.0" encoding="UTF-8"?>`),定义元素(Element)、属性(Attribute)和内容(Content)。XML文件的结构是由嵌套的元素构成的树状结构...
另一方面,当完成一项任务并调整了相关参数后,可以使用`write_xml_file`将这些新设置保存回XML文件,以便于后续调用或与其他系统集成。 三、HALCON与XML的结合 Halcon的XML处理能力使其能够灵活地与使用XML的其他...
在实际应用中,你可以根据需要对解析的XML数据进行操作,例如读取特定的节点值、修改元素属性、删除或添加新的元素等。TinyXML库提供了一套简洁的API,使得XML操作变得直观易懂。 通过这个例子,你可以了解如何在QT...
在XML文件中,"Node"是构成XML文档的基本元素,包括元素(Element)、属性(Attribute)、文本(Text)、注释(Comment)、处理指令(Processing Instruction)等类型。本篇将深入探讨如何在XML文件中追加Node节点,...
TinyXML 是一个小型、开源的 ...无论是读取现有的 XML 数据还是创建新的 XML 文档,通过理解和运用其提供的类和方法,开发者都能高效地进行 XML 编程。结合 Visual C++ 的特性,可以进一步扩展其在 GUI 应用中的功能。
JDOM虽然功能强大,但在处理大型XML文件时可能效率较低,因为它需要将整个文档加载到内存。这时,可以考虑使用StAX或Java内置的DOM API,它们提供了流式处理或分块处理的能力,降低了内存消耗。 总结来说,JDOM是一...
1. **XmlDocument**:这是处理XML文档的核心类,可以加载XML文件,进行DOM(Document Object Model)操作,如添加、删除、修改元素。 2. **XmlNode** 和其子类:XmlNode代表XML文档中的一个节点,如元素...
XML文件由元素(Element)、属性(Attribute)、文本内容(Text Content)等组成,元素通过嵌套形成树状结构。每个元素都有一个开始标签()和结束标签(),属性则以键值对的形式出现在开始标签内,如:。 在C++中...
XML文件的结构是基于元素(Element)和属性(Attribute)的。在这个工具生成的XML文件中,每个文件可能对应一个元素,元素下可以包含子元素或属性来表示文件的各种属性。例如,一个文件元素可能包含如下结构: ```...
如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>dom4j <artifactId>dom4j <version>2.1.3 ``` 接下来,我们将详细讲解如何使用DOM4J解析XML文件的步骤: 1. **读取XML文件**:...