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 に答える