Синтаксический анализ XML в Java - PullRequest
1 голос
/ 17 января 2011
<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>

Выше приведен фиктивный тестовый XML, и мне нравится читать фрагмент кода Java и просто выводить как

Question : what is seo?
answer: Son of English Organizatio
answer: Search Engine Optimization
answer: Silvet of england Office

... аналогично для следующего вопроса

У кого-нибудь есть лучший способ сделать это?Большое спасибо

Ответы [ 4 ]

5 голосов
/ 17 января 2011

Если вы хотите «стандартный» способ сделать это, я бы рекомендовал использовать JAXB , поскольку он является частью Java SE 6.

Сначала создайте схему xsd для вашего xmlфайлы.Затем используйте инструмент командной строки xjc, найденный в Java SDK.Это сгенерирует классы Java JAXB в соответствии с вашей схемой.

Затем прочитайте, как использовать JAXB для безболезненного получения необходимых вам элементов из вашего XML-файла.Хороший и простой учебник можно найти здесь .

2 голосов
/ 17 января 2011

используйте DOM parser.Вот ссылка, которая лучше всего подходит вам Как читать XML-файл на Java

0 голосов
/ 17 января 2011

VTD-XML - это API-интерфейс XML, который сочетает в себе ряд преимуществ (производительность, использование памяти и простота использования).

0 голосов
/ 17 января 2011

Существует много библиотек, таких как dom4j, jdom, xtream и т. Д., Доступных для чтения и обработки данных XML. Я нашел dom4j очень легко.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...