このようなデータをインポートしている場合、機能しません。
デバッグも表示されます
「System.Xml.dll で、タイプ 'System.Xml.XmlException' の初回例外が発生しました」
<?xml version="1.0" encoding="utf-8" ?>
<XMLDocument>
<Books>
<Book>
<row id="0">
<data_rate_in_as_string>0B</data_rate_in_as_string>
<data_rate_out_as_string>0B</data_rate_out_as_string>
<downloaded_as_string>956.6MB</downloaded_as_string>
<elapsed_as_string>174d2h48m49s</elapsed_as_string>
</row>
</Book>
<Book>
<row id="1">
<data_rate_in_as_string>0B</data_rate_in_as_string>
<data_rate_out_as_string>0B</data_rate_out_as_string>
<downloaded_as_string>956.6MB</downloaded_as_string>
<elapsed_as_string>174d2h48m49s</elapsed_as_string>
</row>
</Book>
</Books>
</XMLDocument>
ただし、行 ID を完全に削除すると機能し、データをインポートできます。ただし、行IDを保持したいので、データグリッドビューにも追加したいと思います。
これが役立つ場合、これまでのところプロジェクトコードです。
Public Shared Function EmptyStringToNull(o As String) As Object
Dim ret As Object = DBNull.Value
Try
If o.Trim.Length = 0 Then
ret = DBNull.Value
Else
ret = o
End If
Catch ex As Exception
End Try
Return ret
End Function
Private Sub ReadXMLFile()
Dim xmlDoc As New System.Xml.XmlDocument
Dim root As XmlElement = Nothing
Dim nodes As XmlNodeList = Nothing
Dim node As XmlNode = Nothing
Dim xmlFile As String = ""
Try
OpenFileDialog1.ShowDialog()
xmlFile = OpenFileDialog1.FileName
xmlDoc.Load(xmlFile)
root = xmlDoc.DocumentElement
nodes = root.SelectNodes("//XMLDocument/Books/Book/") 'The XMLPath
'nodes = root.SelectNodes("//result/data/row") 'The XMLPath
Me.DataGridView1.Rows.Clear() 'Clear Grid
For Each node In nodes
Me.DataGridView1.Rows.Add(EmptyStringToNull(node("rowid").InnerText),
EmptyStringToNull(node("data_rate_in_as_string").InnerText),
EmptyStringToNull(node("data_rate_out_as_string").InnerText),
EmptyStringToNull(node("downloaded_as_string").InnerText),
EmptyStringToNull(node("elapsed_as_string").InnerText))
Next
Catch ex As Exception
End Try
End Sub