0
私はこのエラーが発生します:''、16進値0x19は無効な文字ですか?
' ', hexadecimal value 0x19, is an invalid character
戻っ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.
私も正規表現式を使用して、無効な文字を削除しようとしましたが、テーブルには、W3C XML RecommendationパーXMLにこれらcharacters are legal in XMLを
a)あなたはどの言語で作業していますか?b)XMLはどのように生成されていますか?そのキャラクターを探し始める場所になります。 – Tim
私はあなたの答えに私の質問を編集しました –
私はこのエラーがDataTableのデータによるものだと思います。テーブルが大きすぎない場合は、それをチェックして問題のキャラクタが見つかるかどうかを確認することができます。この種の問題は、IMEを実行するのが難しい場合があります。 – Tim