我正在使用MS XmlWriter以UTF-8创建XML文件。
Dim settings As New XmlWriterSettings()
settings.Indent = True
settings.IndentChars = " "
settings.Encoding = System.Text.Encoding.UTF8
settings.ConformanceLevel = ConformanceLevel.Fragment
Using xWriter As XmlWriter = XmlWriter.Create(filePath, settings)
如果我尝试使用值WriteElementString
的{{1}}进行编写,则在输出XML中得到&
。在UTF-8中不应该保留为“&”?
答案 0 :(得分:1)
转义特殊字符与编码无关。无论您的编码是UTF-8还是其他任何内容,<
和{{1}}必须始终以XML格式进行转义。
答案 1 :(得分:0)
&
是XML中的非法字符,必须进行转义。请参阅此答案:https://stackoverflow.com/a/730150/4397397