2010-10-11 3 views
1

Может ли кто-нибудь сказать мне, как преобразовать строку в файл xml в android?Преобразование строки в файл xml в android

Благодаря

+0

Является ли строка уже в формате XML и вы хотите создать объект в памяти? Или вы хотите вывести строку как часть полного документа XML? –

+0

yes string уже в xml. Я хочу быть документом xml – mohan

ответ

0

Если приложение прост и не требует слишком большого количества манипуляций с XML, DOM должен делать трюк. В противном случае попробуйте использовать SAX, который может дать большой импульс производительности в определенных случаях. Посмотрите на this учебник, который хорошо объясняет различия между ними.

2

Самый безопасный способ заключается в следующем:

Document doc = DocumentBuilderFactory 
    .newInstance() 
    .newDocumentBuilder() 
    .parse(
      new InputSource(
        new StringReader(string) 
      ) 
    ); 

Некоторые люди говорят, что вы должны закрыть StringReader, but that doesn't have any practical benefit in this case.

Существует еще одно решение с использованием ByteArrayInputStream:

Document doc = DocumentBuilderFactory 
    .newInstance() 
    .newDocumentBuilder() 
    .parse(
      new ByteArrayInputStream(
        string.getBytes("UTF-8") 
      ) 
    ); 

Убедитесь, что вы явно указать кодировку при использовании String.getBytes, otherwise it uses the system default encoding, которые могут меняться в зависимости от того, какую платформу вы используете. Кажется, что UTF-8 - это то, что хочет метод анализа, but it's not in the docs.

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