要从Java中将子元素从XML提取到字符串,可以使用Java内置的DOM解析器。以下是一个简单的示例代码:
import java.io.StringReader;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
public class XmlExtractor {
public static void main(String[] args) {
String xmlString = "<root><child1>Hello</child1<child2>World</child2></root>";
String extractedString = extractChildElementsToString(xmlString);
System.out.println(extractedString);
}
public static String extractChildElementsToString(String xmlString) {
try {
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
InputSource is = new InputSource(new StringReader(xmlString));
Document doc = dBuilder.parse(is);
NodeList childNodes = doc.getDocumentElement().getChildNodes();
StringBuilder sb = new StringBuilder();
for (int i = 0; i< childNodes.getLength(); i++) {
Node childNode = childNodes.item(i);
if (childNode.getNodeType() == Node.ELEMENT_NODE) {
Element childElement = (Element) childNode;
sb.append(childElement.getTextContent());
}
}
return sb.toString();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
在这个示例中,我们首先创建了一个包含XML字符串的变量。然后,我们使用DOM解析器解析XML字符串,并获取根元素的子节点。我们遍历子节点,如果子节点是元素节点,则提取其文本内容并将其添加到字符串构建器中。最后,我们返回提取的字符串。
这个示例使用了Java内置的DOM解析器,但是也可以使用其他解析器,例如SAX解析器或StAX解析器。此外,也可以使用第三方库,例如JAXB或Jackson,来处理XML数据。
领取专属 10元无门槛券
手把手带您无忧上云