Muszę parsować strukturę XML w języku JAVA przy użyciu analizatora składni SAX.Parsowanie struktury XML z nieznaną ilością rekursji przy użyciu SAX
Problem polega na tym, że struktura jest rekursywna z nieokreśloną liczbą rekursji. To nadal nie jest takie ważne, ale najważniejsze, że nie mogę wykorzystać funkcjonalności przestrzeni nazw XML, a tagi są takie same na każdym poziomie rekursji.
Oto przykład struktury.
<?xml version="1.0" encoding="UTF-8"?>
<RootTag>
<!-- LOADS OF OTHER TAGS -->
<Tags attribute="value">
<Tag attribute="value">
<SomeOtherTag></SomeOtherTag>
<Tags attribute="value">
<Tag attribute="value">
<SomeOtherTag></SomeOtherTag>
<Tags attribute="value">
<!-- MORE OF THE SAME STRUCTURE -->
</Tags>
</Tag>
</Tags>
</Tag>
</Tags>
<!-- LOADS OF OTHER TAGS -->
</RootTag>
Jak widać, istnieje rekursja, lepiej nieokreślona liczba rekurencji. Teraz mój problem polega na tym, jak wyodrębnić wszystkie dane dla każdej rekursji i zapisać je na przykład w HashMap
.
mogę zdefiniować ContentHandler
dla zaistnienia Tags
i go rozpakować zawartość w HashMap
i umieścić go z powrotem w mistrzaHashMap
zdefiniowanej w głównym obsługi zawartości, ale nie jestem pewien gorący, aby to zrobić.
Jak wyodrębnić i zapisać zawartość rekurencyjnej struktury XML bez używania przestrzeni nazw?
Do czego potrzebne są klucze w HashMap? wartość atrybutu? – LarsH
Tak, klucze będą wartościami atrybutów. –