温馨提示×

java怎么读取并修改xml文件内容

小亿
190
2023-12-12 19:06:03
栏目: 编程语言

在Java中,可以使用javax.xml.parsers包中的DocumentBuilderFactoryDocumentBuilder类来读取和修改XML文件内容。以下是一个简单的示例代码:

import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
import org.w3c.dom.Element;

public class XMLReader {

  public static void main(String[] args) {
    try {
      // 创建解析器工厂和解析器
      DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
      DocumentBuilder builder = factory.newDocumentBuilder();

      // 读取XML文件
      Document doc = builder.parse("file.xml");

      // 获取根节点
      Element root = doc.getDocumentElement();

      // 获取需要修改的元素
      NodeList nodes = root.getElementsByTagName("element");

      // 遍历元素并修改内容
      for (int i = 0; i < nodes.getLength(); i++) {
        Node node = nodes.item(i);
        if (node.getNodeType() == Node.ELEMENT_NODE) {
          Element element = (Element) node;
          // 修改元素内容
          element.setTextContent("New Value");
        }
      }

      // 保存更改后的XML文件
      TransformerFactory transformerFactory = TransformerFactory.newInstance();
      Transformer transformer = transformerFactory.newTransformer();
      DOMSource source = new DOMSource(doc);
      StreamResult result = new StreamResult(new File("file.xml"));
      transformer.transform(source, result);

      System.out.println("XML文件已成功修改");

    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

以上代码会读取名为file.xml的XML文件,找到所有名为element的元素,并将其内容修改为"New Value"。

0