Java中的XML解析

dbw*_*tek 1 java xml parsing

<exam>

<question type="multichoice">
   <name>
       <text>Demo Imported Question</text>
   </name>
   <questiontext format="html">
       <text>What is SEO?</text>
   </questiontext>
   <answer fraction="0">
  <text>Son of English Organization</text>
 <feedback><text>WRONG</text></feedback>


</answer>
   <answer fraction="100">
      <text>Search Engine Optimization</text>
      <feedback><text>Right on!</text></feedback>
   </answer>
   <answer fraction="0">
      <text>Silver of England Office</text>
      <feedback><text>Ooops!</text></feedback>
   </answer>
   <questiontext format="html">
       <text>How many stars are there on US flag ?</text>
   </questiontext>
   <answer fraction="0">
      <text>46</text>
     <feedback><text>WRONG</text></feedback>
   </answer>
   <answer fraction="100">
      <text>52</text>
      <feedback><text>Right on!</text></feedback>
   </answer>
   <answer fraction="0">
      <text>54</text>
      <feedback><text>Ooops!</text></feedback>
   </answer>

   </question>
</exam>
Run Code Online (Sandbox Code Playgroud)

以上是一个虚拟测试xml,我喜欢通过Java代码片段读取并简单地输出为

Question : what is seo?
answer: Son of English Organizatio
answer: Search Engine Optimization
answer: Silvet of england Office
Run Code Online (Sandbox Code Playgroud)

......同样适用于下一个问题

有没有人有最好的方法来做到这一点?非常感谢

dar*_*ioo 5

如果你想要一种"标准"方式,我建议使用JAXB,因为它是Java SE 6的一部分.

首先,为xml文件创建一个xsd模式.然后使用xjcJava SDK中的命令行工具.这将根据您的架构生成Java JAXB类.

然后,阅读有关如何使用JAXB从XML文件中轻松获取所需元素的信息.一个很好的和简单的教程,可以发现在这里.