我需要将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中可以使用相同的方法吗?要么 还有其他方法可以进行相同的转换吗?
提前致谢
答案 0 :(得分:0)
你确定你的物品对象不包含'&gt;'字符?如果确实如此,你必须逃避这一点。