Android XmlSerializer - представление «в знак» (@) - PullRequest
0 голосов
/ 16 января 2012

Я использую следующий код для создания 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&#64;gmail.com</email>

Но мне нужно

<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
  <email>peter@gmail.com</email>

Добавлено позже:

Похоже, что это ошибка Android 2.1 (и других), потому что в более новых версиях ОС Android она работает нормально ...


...