我有一个XML文档如下:
<?xml version="1.0" encoding="UTF-8"?>
<decision>
<question id="0">
<questionText>What type is your OS?</questionText>
<answer id="0">
<answerText>windows</answerText>
</answer>
<answer id="1">
<answerText>linux</answerText>
</answer>
<answer id="2">
<answerText>mac</answerText>
</answer>
</question>
<question id="1">
<questionText>What are you looking for?</questionText>
<answer id="0">
<answerText>table</answerText>
<question id="0">
<questionText>Which color table you want?</questionText>
<answer id="0">
<answerText>green</answerText>
</answer>
<answer id="1">
<answerText>black</answerText>
</answer>
<answer id="2">
<answerText>pink</answerText>
</answer>
</question>
</answer>
<answer id="1">
<answerText>chair</answerText>
</answer>
<answer id="2">
<answerText>bed</answerText>
</answer>
<answer id="3">
<answerText>cloth</answerText>
</answer>
</question>
现在我想用Java中的jdom解析上面的XML。它是一种递归和重要的注意事项是问题不能是问题的直接孩子,同样适用于答案。
答案 0 :(得分:2)
根据之前的相关问题,我想重复并强调其他人的建议(如JB Nizet对this question评论):
学习Java,学习XML,选择项目所需的工具和API,并学会使用它们。如果您遇到麻烦,这里的每个人都很乐意帮助您调试你的代码。
我知道这可能看起来很苛刻,但它已达到你的程序由StackOverflow用户而不是你自己构建的程度。
话虽如此,本答案顶部的链接引出了使用JDOM遍历XML的教程。
答案 1 :(得分:1)
使用Element.getChildren(String)
获取所有问题标记并遍历该列表 - 调用getChildren(String)
以获取所有答案,或getChild(String)
如果只有一个子元素。
答案 2 :(得分:0)
首先,您需要使用XSD来验证XML。