如何在android中将字符串转换为xml?

时间:2012-05-10 09:14:00

标签: android xml xml-serialization

我需要将List中的数据转换为XML字符串。目前我在android中使用以下方法作为转换方法,

  private String writeXml(List<DataItem> item)
   {

    XmlSerializer serializer = Xml.newSerializer();
    StringWriter writer = new StringWriter();
    try {
        serializer.setOutput(writer);
        serializer.startDocument("UTF-16",null);
        serializer.startTag("", "MainData"); 
        serializer.startTag("", "Data"); 
        for (DataItem in: item)
            { 
            serializer.startTag("", "Key");
            serializer.text(in.getKey());
            serializer.endTag("", "Key");
            serializer.startTag("", "Value");
            serializer.text(in.getValue());
            serializer.endTag("", "Value");  
            }

        serializer.endTag("", "Data");
        serializer.endTag("", "MainData");
        serializer.endDocument();

        System.out.println(writer.toString());
        return writer.toString();

    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}

我在C#中看过这个方法

        XmlSerializer serializer = new XmlSerializer(typeof(List<DataItem>));
        StringWriter sw = new StringWriter();

        XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
        ns.Add("","");
        serializer.Serialize(sw, tempdataitems,ns);

        form.AddField("EX" + i ,  sw.ToString());

但在尝试时却显示

      Syntax error on token ">", Expression expected after this token

结束时的

      new XmlSerializer(typeof(List<DataItem>));

在android中可以使用相同的方法吗?要么 还有其他方法可以进行相同的转换吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

你确定你的物品对象不包含'&gt;'字符?如果确实如此,你必须逃避这一点。