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>
したがって、要素1は簡単です。しかし、要素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ファイルにこのようなことがたくさんあるので、あなたの方法は私にとってはうまくいかないと思いますか? –