将XML字符串解析为数组字符串
问题描述:
我正在开发java项目。当我被ResultSequence
将XML字符串解析为数组字符串
ResultSequence object.
发送到Marklogic服务器时,它响应的请求,当我打印这导致
rs.asString
我得到。
<name>hadoop</name>
<name>spark</name>
<name>hive</name>
我的目标是有一个arrayString
作为
Result[]=(hadoop,spark,hive)
我如何解析这个XML字符串到ArrayString
感谢
答
如果你所得到的唯一标签是<name>
那么你可以去寻找替代解决方案。您可以使用regex
删除标签:
String string = "<name>Hadoop</name>";
string.replaceAll("<name>(.*)</name>", "$1")
然后把所有字符串数组中。
但如果有更多的标签,你也需要对他们的工作,你应该更好地使用一些XML解析器
例如:如果内容是在一个XML文件,然后
File names = new File("name.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(names);
doc.getDocumentElement().normalize();
NodeList nodes = doc.getElementsByTagName("name");
String[] namesArray = new String[nodes.getLength()];
for (int i = 0; i < nodes.getLength(); i++) {
Node node = nodes.item(i);
namesArray[i]=node.getNodeValue();
}
现在namesArray
将节点值
希望这有助于