用 Stax API Java 修改 xml 文件
modify xml file with Stax API Java
我是 XML 的新手,我尝试修改一个 xml 文件。
让我解释一下我想做什么。我有一个现有文件,其中写了几行,但我想保留它们并添加其他文件。
我的例子没有按我想要的方式工作。它删除所有内容,并写一个新的 XML.
我需要阅读什么才能知道如何做到这一点?
这是我的 java 代码:
public static void WriteFile(){
try{
XMLOutputFactory xMLOutputFactory = XMLOutputFactory.newFactory();
XMLStreamWriter xMLStreamWriter = xMLOutputFactory.
createXMLStreamWriter(new FileOutputStream("src\data\orders.xml"));
xMLStreamWriter.writeStartDocument("1.0");
xMLStreamWriter.writeStartElement("products");
xMLStreamWriter.writeStartElement("product");
//set description
xMLStreamWriter.writeStartElement("description");
xMLStreamWriter.writeCharacters("Apple MacBook Air A 11.6 Mac OS X v10.7 Lion MacBook");
xMLStreamWriter.writeEndElement();
//end description
//set price
xMLStreamWriter.writeStartElement("price");
xMLStreamWriter.writeAttribute("currency","USD");
xMLStreamWriter.writeCharacters("999");
xMLStreamWriter.writeEndElement();
//end price
xMLStreamWriter.writeEndElement();
//end produtcs
xMLStreamWriter.writeEndElement();
//end produtc
xMLStreamWriter.flush();
xMLStreamWriter.close();
}catch (Exception e){
System.out.println(e.getMessage());
}
}
您的代码使用 XML Stream Writer 在文件位置写入一些数据。该文件存在并恰好包含 XML 的事实无关紧要,因为您的代码只会覆盖它。
你现在要做的是:
- 写新内容
您需要的是:
- 读取现有文件的内容
- 写旧内容
- 写新内容
- 保存文件
对于第 2、3 和 4 步,您可以使用新文件,然后覆盖旧文件。
我是 XML 的新手,我尝试修改一个 xml 文件。 让我解释一下我想做什么。我有一个现有文件,其中写了几行,但我想保留它们并添加其他文件。
我的例子没有按我想要的方式工作。它删除所有内容,并写一个新的 XML.
我需要阅读什么才能知道如何做到这一点?
这是我的 java 代码:
public static void WriteFile(){
try{
XMLOutputFactory xMLOutputFactory = XMLOutputFactory.newFactory();
XMLStreamWriter xMLStreamWriter = xMLOutputFactory.
createXMLStreamWriter(new FileOutputStream("src\data\orders.xml"));
xMLStreamWriter.writeStartDocument("1.0");
xMLStreamWriter.writeStartElement("products");
xMLStreamWriter.writeStartElement("product");
//set description
xMLStreamWriter.writeStartElement("description");
xMLStreamWriter.writeCharacters("Apple MacBook Air A 11.6 Mac OS X v10.7 Lion MacBook");
xMLStreamWriter.writeEndElement();
//end description
//set price
xMLStreamWriter.writeStartElement("price");
xMLStreamWriter.writeAttribute("currency","USD");
xMLStreamWriter.writeCharacters("999");
xMLStreamWriter.writeEndElement();
//end price
xMLStreamWriter.writeEndElement();
//end produtcs
xMLStreamWriter.writeEndElement();
//end produtc
xMLStreamWriter.flush();
xMLStreamWriter.close();
}catch (Exception e){
System.out.println(e.getMessage());
}
}
您的代码使用 XML Stream Writer 在文件位置写入一些数据。该文件存在并恰好包含 XML 的事实无关紧要,因为您的代码只会覆盖它。
你现在要做的是:
- 写新内容
您需要的是:
- 读取现有文件的内容
- 写旧内容
- 写新内容
- 保存文件
对于第 2、3 和 4 步,您可以使用新文件,然后覆盖旧文件。