我想使用OutputStreamWriter将数据追加到XML文件中,但结果如下所示
<?xml version="1.0" encoding="utf-8"?>
<doc>
<msg>
<tag1>data1</tag1>
...
</msg>
</doc>
<?xml version="1.0" encoding="utf-8"?>
<doc>
<msg>
<tag1>data2</tag1>
...
</msg>
</doc>
如何实现正确的格式
<?xml version="1.0" encoding="utf-8"?>
<doc>
<msg>
<tag1>data1</tag1>
...
</msg>
<msg>
<tag1>data2</tag1>
...
</msg>
</doc>
XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
File file = new File(outputFile);
Writer fw = null;
XMLStreamWriter w = null;
try {
if(!file.isFile()) {
file.createNewFile();
}
fw = new OutputStreamWriter(new FileOutputStream(file, true), "UTF-8");
w = outputFactory.createXMLStreamWriter(fw);
w.writeStartDocument("utf-8", "1.0");
w.writeStartElement("doc");
createMessageElement(fingerPrint, w, data);//method to write data
w.writeEndElement();
w.writeEndDocument();
w.flush();
w.close();
w.close();
fw.flush();
fw.close();
您的示例只是在文件末尾追加一个新的xml文档。如果您想要将数据附加到现有的xml文档中,您必须读取源xml,并将其写入另一个文件,根据需要插入您的新元素....有关使用stax API的示例,请参见http://docs.oracle.com/javase/tutorial/jaxp/stax/example.html#bnbgq。
主要内容:Java StAX解析器 解析XML文档的示例Java StAX解析器 解析XML文档的示例 需要解析的文件input.xml 编写Java StAX解析器 解析XML文档的程序 输出结果为:
主要内容:Java StAX解析器 修改XML文档的示例Java StAX解析器 修改XML文档的示例 需要修改的文件input.xml 编写Java StAX解析器 修改XML文档的程序 输出结果为:
主要内容:Java StAX解析器 创建XML文档的示例Java StAX解析器 创建XML文档的示例 需要生成的XML文件内容如下 编写Java StAX解析器 创建XML文档的程序 输出结果为:
主要内容:Java StAX解析器 查询XML文档的示例Java StAX解析器 查询XML文档的示例 需要解析的文件input.xml 编写Java StAX解析器 查询XML文档的程序 输出结果为:
问题内容: 我如何在Java或C中使用vtd-xml解析如下的xml文件? 任何帮助,将不胜感激。 谢谢 问题答案: 我想其中有些取决于您要如何解析文件。 这是一个“非生产”示例,其中使用了一些有用的技术,包括: XPath选择(此处仅使用“ / *”) 浏览所有同级节点 通过子节点向下看 使用AutoPilot将节点属性提取到地图中 希望能帮助到你 产生以下输出: 添加带有AutoPilot循环
如何在java或C中使用vtd xml解析如下xml文件? 任何帮助都将不胜感激。 谢谢