VB.net xmlwriter设置无法写入字符串

VB.net xmlwriter设置无法写入字符串,xml,vb.net,Xml,Vb.net,我正在编写一个xml文件以发布到OTA API 如果我将输出写入字符串或文件中,我会发现输出有所不同。 如果我用字符串写,我会看到不同的编码 当我写入字符串时,设置似乎不起作用。 有什么帮助吗? 我简化了代码,将两个按钮按钮2写入文件,一个按钮3写入字符串。你看代码是一样的。 有什么建议吗? Thx 文件中的输出按钮2 一线 ?xml version="1.0" encoding="UTF-8" standalone="true"?> 字符串中的输出按钮3 ?xml version="1

我正在编写一个xml文件以发布到OTA API 如果我将输出写入字符串或文件中,我会发现输出有所不同。 如果我用字符串写,我会看到不同的编码 当我写入字符串时,设置似乎不起作用。 有什么帮助吗? 我简化了代码,将两个按钮按钮2写入文件,一个按钮3写入字符串。你看代码是一样的。 有什么建议吗? Thx

文件中的输出按钮2 一线

?xml version="1.0" encoding="UTF-8" standalone="true"?>
字符串中的输出按钮3

?xml version="1.0" encoding="utf-16" standalone="yes"?>
代码

Private子按钮2\u单击(发送者作为System.Object,e作为System.EventArgs)处理按钮2。单击
将设置变暗为新的XmlWriterSettings
将文件设置为字符串
作为字符串的Dim stxmlns
stxmlns=”http://www.testconnect.com/EQC/AR/2011/06"
settings.Indent=True“真正的稳定性是capo quando cambi元素
settings.NewLineOnAttributes=True
settings.Encoding=Encoding.UTF8
nomefile=“C:\documenti\test.xml”
Dim wr As XmlWriter=XmlWriter.Create(文件、设置)
wr=creawritertest(wr)
wr.Flush()
MsgBox(“OK”)
端接头
私有子按钮3\u单击(发件人作为System.Object,e作为System.EventArgs)处理按钮3。单击
将设置变暗为新的XmlWriterSettings
Dim sw作为新的StringWriter()
作为字符串的Dim stxmlns
stxmlns=”http://www.testconnect.com/EQC/AR/2011/06"
settings.Indent=True“真正的稳定性是capo quando cambi元素
settings.NewLineOnAttributes=True
settings.Encoding=Encoding.UTF8
作为XmlWriter=XmlWriter.Create的Dim wr(软件,设置)
wr=creawritertest(wr)
wr.Flush()
mess.Text=sw.ToString
端接头
私有函数creawritertest(wr作为XmlWriter)作为XmlWriter
作为字符串的Dim stxmlns
stxmlns=”http://www.testconnect.com/EQC/AR/2011/06"
wr.WriteStartDocument(True)
writeStarteElement(“AvailRateUpdateRQ”,stxmlns)
wr.WriteEndElement()
返回wr
端函数

Well.NET
String
是UTF-16编码字符的序列,这就是为什么向StringWriter写入时会使用这种编码。如果确实需要,可以重写该编码,但通常情况下,如果您写入文件或流,而不是写入字符串,则使用特定的编码是有意义的。另请参阅其中显示了如何在需要时重写编码(C#中有代码,但当然在VB中也可以这样做)。当您“另存为”时文件使用记事本您会注意到,有一个选项可以将文件另存为UTF8或Unicode。因此XmlWriter使用的是文件设置,而不是您指定的设置。