Я использую следующий код для создания XML:
XmlSerializer serializer = Xml.newSerializer();
StringWriter writer = new StringWriter();
try
{
serializer.setOutput(writer);
serializer.startDocument("UTF-8", true);
serializer.startTag( "", "email" );
serializer.text( "peter@gmail.com" );
serializer.endTag( "", "email" );
serializer.endDocument();
String xml = writer.toString();
}
catch (Exception e)
{
}
При этом переменная xml будет содержать строку XML, но в знаке (@) преобразуется в числовое представление (@
) ... Кто-нибудь знает, как его отключить? Почему это сделано? Мне нужен XML в кодировке UTF-8, и в этом случае @ является действительным символом ...
Итак, результат XML:
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<email>peter@gmail.com</email>
Но мне нужно
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<email>peter@gmail.com</email>
Добавлено позже:
Похоже, что это ошибка Android 2.1 (и других), потому что в более новых версиях ОС Android она работает нормально ...