【发布时间】:2016-08-05 03:42:28
【问题描述】:
我收到此错误:
'',十六进制值0x19,是无效字符
当将 DataTable 序列化为 XML 时,然后将此 XML 反序列化回 DataTable。
这已经工作了几个月了,知道这个字符现在是如何突然进入相关 XML 的吗?
在 VB.NET 中工作。这是完成工作的代码。
Public Function ConvertDataTableToXML(ByVal tbl As DataTable) As String
tbl.TableName = "gv"
Dim writer As New System.IO.StringWriter()
tbl.WriteXml(writer, XmlWriteMode.WriteSchema, False)
Return writer.ToString()
End Function
Public Function ConvertXMLToDataTable(ByVal xml As String) As DataTable
Dim tbl As New DataTable
Dim xmlReader As XmlReader = xmlReader.Create(New StringReader(xml))
tbl.ReadXml(xmlReader)
Return tbl
End Function 'This function throws the error.
我也尝试使用正则表达式去除无效字符,但当表尝试读取 XML 时我仍然收到错误
【问题讨论】:
-
a) 您使用什么语言。b) XML 是如何生成的?那将是开始寻找角色的地方。
-
我已经编辑了我的问题来回答你的问题
-
我预计错误是由于 DataTable 中的数据造成的。如果桌子不是太大,你可以检查一下,看看你是否能找到有问题的角色。这类问题很难在 IME 中运行。
-
这是一个负号,它不是一个有效的 xml 字符。请参阅:google.com/…
标签: xml vb.net serialization datatable