gpt4 book ai didi

Java - 提取子元素

转载 作者:行者123 更新时间:2023-11-30 10:57:30 25 4
gpt4 key购买 nike

我是 Java 新手,需要解析下面的 XML 文件

<foo>
<foo1>
<tag1>1</tag1>
<tag2>2</tag2>
</foo1>

<foo2>
<element1>aaa</element1>
<element1>bbb</element2>
</foo2>

</foo>

我需要

<foo1>
<tag1>1</tag1>
<tag2>2</tag2>
</foo1>

<foo2>
<element1>aaa</element1>
<element1>bbb</element2>
</foo2>

作为输出。我能够获得节点的值但不是所需的输出。请帮帮我。谢谢。

最佳答案

好的,我想我明白了。这是带有文档的代码:

import java.io.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;
import org.w3c.dom.*;

// parse input XML file into Document
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse("C://Temp/xx.xml");

// build a formatted XML String
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
StreamResult result = new StreamResult(new StringWriter());
transformer.transform(new DOMSource(doc), result);
String xmlString = result.getWriter().toString();

// Split the formatted-XML-String according to new-line
String lines[] = xmlString.split("\\r?\\n");
// rebuild the String, skipping undesired lines
xmlString = "" ;
String newLine = String.format("%n");
for (int i = 2 ; i < lines.length-1 ; i++) {
xmlString += lines[i] + newLine;
}
System.out.println(xmlString);

关于Java - 提取子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32603501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com