vb.net dataset.load包含字符串“&”的xml文件

时间:2015-09-15 03:41:15

标签: c# xml vb.net

我正在使用Dataset.Load语句来加载XMl文件,在文件中我有一些带有“&”的标签字符,这是一个例外。有没有办法将XML加载到数据集或替换&另一个字符串。

我试图做一个替换但是当我使用StringVar.Replace(“&”,“e”)时,例如当我在文件上有“ç”或“ã”字符串时,这个字符被替换为错误的序列的角色。

我正在尝试这个

My.Computer.FileSystem.WriteAllText(MyFilePath, My.Computer.FileSystem.ReadAllText(MyFilePath, System.Text.Encoding.UTF8).Replace(" & ", "&"), False, System.Text.Encoding.UTF8)

但有些文件在“&”之前和之后都有“A& B”或任何其他字母组合。

如果有人能帮助我,我会很高兴的。 感谢

1 个答案:

答案 0 :(得分:0)

`你好,伙计们,我解决了我的问题。问题是@Blorgbeard说Xml文件无效。

公共共享功能解压缩(text as String)As String         Dim bytes As Byte()= Convert.FromBase64String(text)

    Using msi = New MemoryStream(bytes)
        Using mso = New MemoryStream()
            Using gs = New System.IO.Compression.GZipStream(msi, System.IO.Compression.CompressionMode.Decompress)
                Dim bytesAux As Byte() = New Byte(4095) {}
                Dim cnt As Integer

                While (InlineAssignHelper(cnt, gs.Read(bytesAux, 0, bytesAux.Length))) <> 0
                    mso.Write(bytesAux, 0, cnt)
                End While
            End Using
            Dim streamReader As StreamReader = New StreamReader(mso, System.Text.Encoding.UTF8, True)
            Dim XmlDoc As String
            mso.Seek(0, SeekOrigin.Begin)
            XmlDoc = streamReader.ReadToEnd               
            Return XmlDoc
        End Using
    End Using

End Function`

这就是我所做的,并返回包含要写入文件的正确XML数据的字符串。