Проблема с разбором xml из строки в Android - PullRequest
0 голосов
/ 03 декабря 2010

Я хочу проанализировать XML из строки. Это работает нормально, когда длина строки мала. Но для длинной строки это ничего не разбирает. Приостановлено при вызове parse (). Я использую следующий код для разбора. Скажите, пожалуйста, что не так с моим кодом?

        //my xml code is string 'xmlString'
         DocumentBuilderFactory objDocFactory=DocumentBuilderFactory.newInstance();
         DocumentBuilder objDocBuilder=objDocFactory.newDocumentBuilder();  
         InputSource objInput=new InputSource();
         objInput.setCharacterStream(new StringReader(xmlString));
         Document objDoc=objDocBuilder.parse(objInput);
         //appication is suspended at the above line
         objDoc.getDocumentElement().normalize();

Спасибо ...

Ответы [ 2 ]

2 голосов
/ 03 декабря 2010

Насколько большой документ?

Я использовал парсер TinyXML для Android и очень доволен результатом. Может быть, вы можете проверить это один раз.

Самое приятное то, что его довольно легко использовать, а кривая обучения значительно меньше.

0 голосов
/ 03 декабря 2010

Именно то, что сказал Кит. Используя DOM, он пытается загрузить весь документ в память, что не самая лучшая вещь на мобильном устройстве. SAX будет выполнять потоковую передачу данных, поэтому он будет использовать только небольшую память.

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