0

我需要将 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中使用相同的方法?或者还有其他方法可以进行相同的转换吗?

提前致谢

4

1 回答 1

0

您确定您的项目对象不包含“>”字符吗?如果是这样,你必须逃避它。

于 2012-05-10T10:31:40.387 回答