将XmlSerializer代码从java转换为C#
本文关键字:转换 java XmlSerializer 代码 | 更新日期: 2023-09-27 18:29:47
我有一个Java Android应用程序,可以正确地序列化文档,但我需要使用ASP.NET/C#.构建一个等效的应用程序
Java中的XMLSerializer和C#中的XMLSerializer似乎是完全不同的动物。Java版本似乎有很多C#版本中找不到的方法。
下面是我的代码示例:
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(); *
这里列出的方法(用星号标记)在C#中都不可用。我怎么可能模仿它呢?我在网上搜索过,找不到任何关于这个主题的像样的文件。有人知道上面显示的方法的C#等价物是什么吗?
System.Xml.XmlWriter.Flush
<->org.xmlpull.v1.XmlSerializer.flush
System.Xml.XmlWriter.Create(Stream)
<->org.xmlpull.v1.XmlSerializer.setOutput(Writer)
System.Xml.XmlWriter.WriteStartDocument
<->org.xmlpull.v1.XmlSerializer.startDocument
System.Xml.XmlWriter.WriteEndDocument
<->org.xmlpull.v1.XmlSerializer.endDocument
System.Xml.XmlWriter.WriteStartElement
<->org.xmlpull.v1.XmlSerializer.startTag
System.Xml.XmlWriter.WriteEndElement
<->org.xmlpull.v1.XmlSerializer.endTag
System.Xml.XmlWriter.WriteString
<->org.xmlpull.v1.XmlSerializer.text
System.Xml.XmlWriter.WriteBase64
<->您的图像System.Xml.XmlWriter.WriteProcessingInstruction
<->org.xmlpull.v1.XmlSerializer.setFeature
msdn:上的参考文献
- XmlWriter,仅转发xml流生成器
- XmlWriterSettings
- XmlWriter编码
- XmlWriter中的命名空间处理