![](/img/trans.png)
[英]Extract entire string containing xml tags from request form in Java
[英]Extract tags from xml in string to array
我想将在字符串变量中收到的xml数据提取到列表中。 是最好使用SAX解析器或Xpath,哪种方式最快?
如果你可以引导我一些代码,也会有所帮助。
输入字符串
<TestEventEntity xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Sid>u34u5i435b4ih5b</Sid>
<UserId>9485924857429857</UserId>
<TestPercentId>4957493574395</TestPercentId>
<TestGroup>test2</TestGroup>
<SessionStartDt>2015-02-17T08:38:18.5179128-06:00</SessionStartDt>
<Event>my Event</Event>
</TestEventEntity>
预期产出
[u34u5i435b4ih5b,9485924857429857,4957493574395,test2,2015-02-17T08:38:18.5179128-06:00,my event]
我不确定性能,但以下代码是一种简单的方法来做你想要的:
File xmlFile = new File("path/to/file.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(xmlFile);
doc.getDocumentElement().normalize();
//Get childs of root tag
NodeList elementsUnderRootTag = doc.getElementsByTagName("rootTagName").item(0).getChildNodes();
//Iterating over childs of root node
for (int i = 0; i < elementsUnderRootTag.getLength(); i++) {
Node child = elementsUnderRootTag.item(i);
if (child.getNodeType() == Node.ELEMENT_NODE) {
Element elm = (Element) child;
System.out.pringln(elm.getTextContent());
}
}
有关解析xml文件(或字符串)的不同类型的更多信息,请查看此处 。 您可以在那里运行示例代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.