2013-02-14 2 views
1
<xml> 
<name>steve</name> 
<age>12</age> 
<country>Germany</country> 
<person> 
    <college>kmu university</college> 
    <country>Sweden</country> 
</person> 
</xml> 

Использование анализатора stax во время разбора Я получаю название страны, как Германия, Швеция. Но мне нужна только Швеция, а не Германия. Любой другой способ получить его. Я использую парсер STAX для анализа этого xml.Получить только определенный элемент узла из xml с помощью анализатора stax

Ожидаемый выход: Швеция

Фактический выход: Германия, Швеция

+0

вам нужно использовать STAX? – dogbane

+0

да, я должен использовать STAX, потому что Xml-контент очень большой по размеру –

ответ

3

Когда вы StAX (и SAX) синтаксический анализ, необходимо отслеживать контекст самостоятельно. это означает, что вам необходимо отслеживать начатые и еще не завершенные элементы. после того, как вы получите эту информацию, вы можете сохранить только элемент «страна», который вложен в элемент «человек» и игнорировать все остальные элементы «страны».

+0

спасибо, как получить узел элемента страны только под человеком, можете ли вы привести пример ... Я не хочу, чтобы код просто объяснял логику, этого достаточно. –

+0

@BalaMurugan - я объяснил логику в своем ответе: «отслеживайте начатые и еще не завершенные элементы» и «сохраняйте только элемент« страна », который вложен под элементом« человек »" – jtahlborn

Смежные вопросы