我正在使用以下方法来创建 XML:
Private mXmlDocSave As XmlDocument
Using sw As XmlTextWriter = New XmlTextWriter(pSaveLocation & "\" & mFolderName & "\" & mFileName & ".kml", System.Text.Encoding.Default)
mXmlDocSave.Save(sw)
End Using
以及以下解析 XML 的方法:
Private mKMLDocument As New Xml.Linq.XDocument()
mKMLDocument = XDocument.Parse(pXML)
如果我更改System.Text.Encoding.Default
为System.Text.Encoding.UTF8
UTF-8 编码,解析 XML 将失败;但是当我使用System.Text.Encoding.Default
ANSI 编码解析 XML 时成功。我应该使用 UTF-8 编码来支持像 æ,Ü,¥ 这样的特殊字符。
如何使用 UTF-8 编码解决此问题
System.Text.Encoding.Default
此外,我什至用ANSI 编码制作了 XML 。我懂了
<?xml version="1.0" encoding="UTF-8"?>
在顶部。难道不应该
<?xml version="1.0" encoding="ANSI"?>
------------已编辑-------------
我正在使用以下代码读取 pXml
Public Sub LoadXML()
Dim mKMLDocument As New Xml.Linq.XDocument()
Dim mKMLString As String
Dim pXML As String
Dim UploadedFile As DevExpress.Web.ASPxUploadControl.UploadedFile
pXML = Encoding.UTF8.GetString(UploadedFile.FileBytes)
If String.IsNullOrEmpty(pXML) Then
mKMLString = ""
mKMLDocument = Nothing
Else
mKMLString = pXML
mKMLDocument = XDocument.Parse(pXML)
End If
谢谢
Bibek Gautam 加德满都