vb.net将UTF-8中的“&”转换为“&”

问题描述:

我正在使用MS XmlWriter以UTF-8创建XML文件。vb.net将UTF-8中的“&”转换为“&”

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&值写我在输出XML得到&。 UTF-8不应该保留为“&”吗?

+0

[XML中的无效字符]的可能重复(https://*.com/questions/730133/invalid-characters-in-xml) –

&是XML中的非法字符,必须转义。看到这个答案:https://*.com/a/730150/4397397

转义特殊字符与编码无关。无论您的编码是UTF-8还是其他任何文件,&<都必须始终以XML格式转义。