Was*_*oui 1 java xml algorithm recursion xml-parsing
我有一个递归方法的问题,它将XML文件的所有元素放在ArrayList中
<?xml version="1.0" encoding="iso-8859-1"?>
<country>
<name> France </name>
<city> Paris </city>
<region>
<name> Nord-Pas De Calais </name>
<population> 3996 </population>
<city> Lille </city>
</region>
<region>
<name> Valle du Rhone </name>
<city> Lyon </city>
<city> Valence </city>
</region>
</country>
Run Code Online (Sandbox Code Playgroud)
但我的功能并没有全面完成(获取所有元素):结果是[国家,名称,城市,地区,地区]但我想得到所有元素[国家,地区,城市,地区,名称,人口,地区,名称,城市,城市],我认为递归调用不在正确的地方,这是我的代码
public static ArrayList<String> TreeToArray (Node node)
{
ArrayList<String> ArrayNoeud = new ArrayList<String> ();
ArrayNoeud.add(node.getNodeName());
NodeList nl = node.getChildNodes();
for (int i = 0; i < nl.getLength(); i++) {
Node n = nl.item(i);
if (n instanceof Element)
{
ArrayNoeud.add(n.getNodeName());
}
TreeToArray(n);
}
return ArrayNoeud;
}
Run Code Online (Sandbox Code Playgroud)
您正在递归但是您没有将返回值分配给任何东西.
代替
TreeToArray(n);
Run Code Online (Sandbox Code Playgroud)
试试这个:
ArrayNoeud.addAll( TreeToArray(n) );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1017 次 |
| 最近记录: |