java 读取xml文件并生成内容相同的新文件
时间: 2023-07-18 14:18:48 浏览: 54
您可以使用Java标准库中的`javax.xml.parsers`来读取和写入XML文件。以下是一个示例代码:
```java
import java.io.File;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;
public class XmlFileCopy {
public static void main(String[] args) {
try {
// 读取原始XML文件
File inputFile = new File("original.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(inputFile);
doc.getDocumentElement().normalize();
// 创建新XML文件
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File("new.xml"));
transformer.transform(source, result);
System.out.println("新文件已生成。");
} catch (ParserConfigurationException | SAXException | IOException | TransformerException e) {
e.printStackTrace();
}
}
}
```
在上述代码中,我们使用`DocumentBuilder`和`Document`来读取原始XML文件。然后,我们使用`Transformer`和`StreamResult`来将DOM树写入新XML文件。
请注意,此示例仅适用于简单的XML文件。如果您的XML文件包含命名空间、注释或其他复杂元素,请根据需要进行修改。