我必須使用JDOM解析XML文件,並從他的所有元素中獲取一些信息。如何自動化使用JDOM的XML解析
<?xml version="1.0" encoding="UTF-8"?>
<root>
<element1>something</element1>
<element2>
<subelement21>moo</subelement21>
<subelement22>
<subelement221>toto</subelement221>
<subelement222>tata</subelement222>
</subelement22>
</element2>
</root>
因此,對於element1來說很簡單。但是對於元素2我必須通過他的孩子,如果孩子有孩子也要經過他們,等等。
public static void getInfos(Vector<String> files) {
Document document = null;
Element root = null;
SAXBuilder sxb = new SAXBuilder();
for (int i =0 ; i< files.size() ; i++)
{
System.out.println("n°" + i + " : " + files.elementAt(i));
try
{
document = sxb.build(files.elementAt(i));
root = document.getRootElement();
List<?> listElements = root.getChildren();
Iterator<?> it = listElements.iterator();
while(it.hasNext())
{
Element courant = (Element)it.next();
System.out.println(courant.getName());
if(courant.getChildren().size() > 0)
{
// here is the problem -> the element has a children
}
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}
你有什麼建議在這種情況下,像一個遞歸調用或別的東西,所以我可以使用相同的功能。
謝謝。
你說的混合內容意味着 –
@OpenMind:混合的內容就像是你在HTML看看,那裏有你喜歡的東西「 ASDF ZXCV QWERTY」,使有一個以上的元素文本節點。 –
我在我的xml文件中有很多這樣的東西,所以我認爲你的方法不適合我? –