Чтение XML с помощью SimpleXML

Привет, кто-нибудь может показать мне, как я могу читать теги xml с их значениями с помощью SimpleXML, кстати. Я создаю приложение для Android.

Мне нужно получить все теги и значения, которые находятся внутри корневого элемента:

<RootElement>
   <UnknownTab>UnkownValue</UnkownTab>
   <AnotherUnknownTab>UnkownValue</AnotherUnknownTab>
</RootElement>

Количество элементов внутри RootElement также неизвестно и каждый раз может быть разным.

ОБНОВЛЕНИЕ:

Я уже использую SimpleXml для каждой другой сериализации, которую я делаю, поэтому я не хочу использовать другой инструмент XML-синтаксического анализа. Вопрос в том, как это сделать с помощью SimpleXml, а не в том, как сериализовать xml.

ОБНОВЛЕНИЕ 2: Я просмотрел XML (он немного сложен), определение выглядит следующим образом:

xsd-определение:

<element-sequence> 
   <element name="actualName" ..../>
   <element name="actualName" ..../>
   <element name="actualName" ..../>
   .
   .
   .
</element-sequence>

размер последовательности элементов является переменным, а теги элементов внутри RootElement являются фактическими именами

<RootElement>
   <actualName>UnkownValue</actualName>
   <actualName>UnkownValue</actualName>
   .
   .
   .
</RootElement>

Есть ли способ сериализовать это, если возможно, с помощью SimpleXML


person Nickolaus    schedule 13.11.2012    source источник


Ответы (4)


Взгляните на очень простой учебник, может он вам поможет: Java и XML и Анализ XML-данных

person Sumit Singh    schedule 13.11.2012

Вы можете использовать SAXParser Android для анализа String. InputSource, который вам нужен для XMLReader парсера, ожидает входной поток, поэтому вам нужно преобразовать вашу строку во входной поток. Для этого можно использовать ByteArrayInputStream:

InputStream is = new ByteArrayInputStream( myString.getBytes( charset ) );

Смотрите также:

Преобразовать строку в Strim

Android Parsing XML с использованием SAX Parser

person Bhavik Ambani    schedule 13.11.2012

Похоже, это невозможно с использованием SimpleXML, работа выполнена с помощью XPath.

person Nickolaus    schedule 16.11.2012