【发布时间】:2021-12-27 15:45:31
【问题描述】:
我一直在关注How can I make the xmlserializer only serialize plain xml? 上的解决方案,试图仅序列化纯文本,但是在 VB.net 端执行此操作时遇到了一些问题
目的是防止显示行<?xml version="1.0" encoding="utf-16"?>和属性xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
我有一个子如下:
Private Sub writeXMLContent()
For Each dataItem As dataClass In dataSet
Dim emptyNameSpace As XmlSerializerNamespaces = New XmlSerializerNamespaces({XmlQualifiedName.Empty})
Dim serializer As New XmlSerializer(GetType(dataClass))
Dim settings As New XmlWriterSettings
settings.Indent = True
settings.OmitXmlDeclaration = True
Using stream As New StringWriter
Using writer = XmlWriter.Create(stream, settings)
serializer.Serialize(writer, serializer, emptyNameSpace)
'will write each line to a file here
End Using
End Using
Next
End Sub
但是我一直遇到同样的两个错误:
-
Using writer = XmlWriter.Create(stream, settings)行使用 object 类型的操作数时抛出错误必须实现 system.iDisposable -
serializer.Serialize(writer, serializer, emptyNameSpace)行似乎不像我的第二个参数,因为它需要一个对象?我不太确定我会在这里传递什么对象?
【问题讨论】: