/**
 * 取得最后一个question的id,如果没有返回0
 */
// @SuppressWarnings("unchecked")
private static int getLastVoteId()
{
List<Element> list = XMLUtil.load(CharacterUtil.XML_PATH).getRootElement().elements();
if (0 == list.size())
{
return 0;
}
else
{
String tempIdString = null; for (Element element : list)
{
tempIdString = element.attributeValue("id");
}
return Integer.parseInt(tempIdString);
}
}
问题一在elements(),结果为一个list,但是老黄色警告,英语水平有限,实在看不懂“list需要未检查的”,不明白是什么意思
Type safety: The expression of type List needs unchecked conversion to conform to List<Element>问题二:求思路优化XML的结构如下:<?xml version="1.0" encoding="UTF-8"?>
<questions>
<question id="1" voteName="投票题目1" voteType="1">
<voteOption num="0">选项1</voteOption>
<voteOption num="0">选项2</voteOption>
<voteOption num="0">选项3</voteOption>
</question>
<question id="2" voteName="投票题目2" voteType="2">
<voteOption num="0">选项1</voteOption>
<voteOption num="0">选项2</voteOption>
</question>
</questions>
如何拿到最后一个id的值,思路是"id 作为唯一不重复的值",我的方法自己觉得比较笨,遍历所有的question拿值,最后一次赋值就是最后一个值,但是如果是一万条,就需要取值一万次觉得比较笨另外还个担心,如果XML结构变成这样(虽然不知道怎么会变成那样,只是觉得可能):<?xml version="1.0" encoding="UTF-8"?>
<questions>
<question id="2" voteName="投票题目2" voteType="2">
<voteOption num="0">选项1</voteOption>
<voteOption num="0">选项2</voteOption>
</question>
<question id="1" voteName="投票题目1" voteType="1">
<voteOption num="0">选项1</voteOption>
<voteOption num="0">选项2</voteOption>
<voteOption num="0">选项3</voteOption>
</question>
</questions>
我的思路似乎就错了,不该取最后一个了,而是遍历比较,拿出最大的那个,那一万条似乎只能遍历一万次比较(一万-1)次了?添加元素会出现不按前后顺序的情况吗?询问下先谢谢答复我的朋友,和关注我问题的朋友们!dom4j泛型elements()遍历