我有一个xml,其中一部分具有以下结构。
<nodes>
<node>
</node>
<node>
</node>
</nodes>
现在node
内可以有任意数量的nodes
元素。而node
反过来可以包含更多nodes
个元素,而这些元素又可以包含更多<node>
个元素。它继续下去。每个node
也包含属性。
我不想在没有适当设计的情况下跳入这个并最终陷入皇家混乱,那么提取这些数据的最佳方法是什么?然后,我需要在JTable中显示最可能具有可折叠/可扩展视图的内容。但这是另一个问题
答案 0 :(得分:0)
DOM和XPATH完成这项工作:
String xml= // your xml
DocumentBuilderFactory builderFactory =DocumentBuilderFactory.newInstance();
DocumentBuilder builder = builderFactory.newDocumentBuilder();
Document document = builder.parse(new InputSource(new StringReader(xml)));
NodeList nodes_field_to_insert=document_to_insert.getElementsByTagName("node");
for (int k = 0; k < nodes.getLength(); k++) {
// Do what you want with that
然而,您必须阅读API,并举例说明。
http://www.programcreek.com/java-api-examples/org.w3c.dom.NodeList
希望有所帮助