gpt4 book ai didi

java - 递归方法不起作用 - ArrayList

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:13:06 26 4
gpt4 key购买 nike

我对递归方法有疑问,该方法将 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>

但是我的函数没有完全完成(获取所有元素):结果是 [country, name, city, region, region] 但我想获取所有元素 [country, name, city, region,name, population,region,name,city,city],我认为递归调用不在正确的地方,这是我的代码

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;



}

最佳答案

您正在递归,但您没有将返回值分配给任何东西。

代替

 TreeToArray(n);

试试这个:

 ArrayNoeud.addAll( TreeToArray(n) );

关于java - 递归方法不起作用 - ArrayList<String>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10610192/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com