简体   繁体   English

将XmlSerializer代码从Java转换为C#

[英]Convert XmlSerializer code from java to C#

I have a Java Android application that seralizes a document correctly, but I am required to build an equivalent using ASP.NET/C#. 我有一个Java Android应用程序,可以正确地对文档进行序列化处理,但是我需要使用ASP.NET/C#构建等效的文件。

XMLSerializer in Java and XmlSerializer in C# appear to be completely different animals. Java中的XMLSerializer和C#中的XmlSerializer似乎是完全不同的动物。 The Java version seems to have loads of methods not found in the C# version. Java版本似乎具有C#版本中找不到的大量方法。

Here is an example of the code I have: 这是我的代码示例:

    XmlSerializer serializer = Xml.newSerializer();
    StringWriter writer = new StringWriter();
    serializer.setOutput(writer); *
    serializer.startDocument("UTF-8", true); *
    serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true); *
    serializer.startTag(null, "root"); *
    serializer.flush(); *
    writer.write(value);
    serializer.endTag(null, String.valueOf(type).toLowerCase()); *
    serializer.startTag(null, "image");
    serializer.text(Base64.encodeToString(image, Base64.DEFAULT)); *
    serializer.endTag(null, "image");
    serializer.endDocument(); *

None of the methods listed here (marked with asterix) are available in C#. C#中没有此处列出的方法(标记为asterix)。 How can I possibly emulate it? 我怎么可能模仿它? I have searched the net and can't find any decent documentation on the subject. 我已经在网上搜索过,但是找不到关于该主题的任何体面的文档。 Does anyone know what the C# equivalents would be for the methods shown above? 有谁知道上面显示的方法的C#等效项是什么?

  • System.Xml.XmlWriter.Flush <-> org.xmlpull.v1.XmlSerializer.flush System.Xml.XmlWriter.Flush <-> org.xmlpull.v1.XmlSerializer.flush
  • System.Xml.XmlWriter.Create(Stream) <-> org.xmlpull.v1.XmlSerializer.setOutput(Writer) System.Xml.XmlWriter.Create(Stream) <-> org.xmlpull.v1.XmlSerializer.setOutput(Writer)
  • System.Xml.XmlWriter.WriteStartDocument <-> org.xmlpull.v1.XmlSerializer.startDocument System.Xml.XmlWriter.WriteStartDocument <-> org.xmlpull.v1.XmlSerializer.startDocument
  • System.Xml.XmlWriter.WriteEndDocument <-> org.xmlpull.v1.XmlSerializer.endDocument System.Xml.XmlWriter.WriteEndDocument <-> org.xmlpull.v1.XmlSerializer.endDocument
  • System.Xml.XmlWriter.WriteStartElement <-> org.xmlpull.v1.XmlSerializer.startTag System.Xml.XmlWriter.WriteStartElement <-> org.xmlpull.v1.XmlSerializer.startTag
  • System.Xml.XmlWriter.WriteEndElement <-> org.xmlpull.v1.XmlSerializer.endTag System.Xml.XmlWriter.WriteEndElement <-> org.xmlpull.v1.XmlSerializer.endTag
  • System.Xml.XmlWriter.WriteString <-> org.xmlpull.v1.XmlSerializer.text System.Xml.XmlWriter.WriteString <-> org.xmlpull.v1.XmlSerializer.text
  • System.Xml.XmlWriter.WriteBase64 <-> your image System.Xml.XmlWriter.WriteBase64 <->您的图像
  • System.Xml.XmlWriter.WriteProcessingInstruction <-> org.xmlpull.v1.XmlSerializer.setFeature System.Xml.XmlWriter.WriteProcessingInstruction <-> org.xmlpull.v1.XmlSerializer.setFeature

References on msdn: 关于msdn的参考:

  1. XmlWriter , forward-only xml stream generator XmlWriter ,仅向前的xml流生成器
  2. XmlWriterSettings XmlWriterSettings
  3. XmlWriter encoding XmlWriter编码
  4. Namespace Handling in the XmlWriter XmlWriter中的命名空间处理

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM