2012-06-02 2 views
0

Я добавляю к сериализатору в цикле, однако у него проблемы с размещением корневого элемента.Добавление в корень с помощью XMLSerializer в Android

Используя этот код:

serializer = serializer.startTag(null, StaticClass.ROOT); 

for (int i = 0; i < categoriesCursor.getCount(); i++) { 
    appendToCategoriesXml(serializer, id, name, kind, uses); 
    categoriesCursor.moveToNext(); 
} 

Я не понимаю, почему корень должен быть помещен автоматически сразу после первого элемента списка, который выглядит следующим образом:

<?xml version='1.0' encoding='UTF-8' standalone='yes' ?> 
    <root> 
    <category id="1"> 
     <name>fun</name> 
     <kind>exp</kind> 
     <uses>0</uses> 
    </category> 
    </root> 
    <category id="2"> 
     <name>food</name> 
     <kind>exp</kind> 
     <uses>15</uses> 
    </category> 

Что я делаю неправильно?

+0

не могли бы вы показать, что происходит в 'appendToCategoriesXml()'? Я также задаюсь вопросом, где вниз код, который вы называете 'serializer.endTag()'. это сразу после цикла 'for'? –

+0

Я только что обнаружил проблему ... это было глупо. Я делал EndDocument на каждой итерации, так что он закончил root сразу после первого ... Я бы удалил этот вопрос, если не ваш комментарий :) –

+1

Говорить с кем-то другим, кроме вас, о проблеме, часто открывает глаза достаточно, чтобы понять это наш собственный :) Это сказал, никогда не жалею о том, чтобы задавать вопрос, особенно тот, который помог вам найти ответ –

ответ

0

Я только что обнаружил проблему ... это было глупо. Я сделал EndDocument на каждой итерации, поэтому он закончил root сразу после первого ...

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