这是我的sample.xml文件。我正在寻找指导如何阅读此内容,并将所有节点(子节点)的内容放入DataSet中并将其显示在DataGrid中。我只能读取单个节点(没有子节点)。读取xml节点到数据集,编辑后代的值并保存(Visal Studio) - 重新打开
我的代码是下面:
Private Sub ReadXmlButton_Click() Handles ReadXmlButton.Click
Dim filePath As String = "C:\Path\"
DataSet.ReadXml("C:\Path\sample.xml")
DataGridView1.DataSource = DataSet
DataGridView1.DataMember = "CART_ID"
End Sub
但它没有子节点仅读取头节点(1000,10.05,YES,8,2)。我想从DataGridView中的第一个(也是全部)CART_ID
中显示所有信息(例如:1000,10.05,A1A,Triangle,10,1,YES,8,2)。
sample.xml中
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XML_FILE>
<typ>xml</typ>
<ID>
<NR>007</NR>
</ID>
<PERSONAL>
<Surname>John</Surname>
<Name>Smith</Name>
</PERSONAL>
<COUNTRY>
<CName>UK</CName>
</COUNTRY>
<CITY>
<TOWN>
<TOWN_ID>
<PART_ID>
<CART_ID>
<SIMPLE_ID>1000</SIMPLE_ID>
<SIMPLE_AREA_ID>10.05</SIMPLE_AREA_ID>
<PLACE_ID>
<SPECIFIC_ID>
<id>A1A</id>
<name>Triangle</name>
<area>10</area>
<note>1</note>
</SPECIFIC_ID>
</PLACE_ID>
<Control>YES</Control>
<Control_area>8</Control_area>
<Control_rest>2</Control_rest>
</CART_ID>
<CART_ID>
<SIMPLE_ID>2000</SIMPLE_ID>
<SIMPLE_AREA_ID>20.05</SIMPLE_AREA_ID>
<PLACE_ID>
<SPECIFIC_ID>
<id>B1B</id>
<name>Triangle</name>
<area>20</area>
<note>2</note>
</SPECIFIC_ID>
</PLACE_ID>
<Control>YES</Control>
<Control_area>18</Control_area>
<Control_rest>2</Control_rest>
</CART_ID>
</PART_ID>
</TOWN_ID>
</TOWN>
</CITY>
</XML_FILE>
更新: 最后一件事是如何将修改的后代(例如 - 手动将SIMPPLE_ID从1000更改为5000等)更改为原始sample.xml文件?用这个解决方案可以做到吗,还是应该寻找其他方法?
您必须从每个“CART_ID”中创建所需字段的“拼合”类,将XML中的所有数据选择到该类的实例中,将每个实例添加到List(Of CartClass)并将该列表设置为网格数据源(无数据成员)。 – MrGadget
@MrGadget如果你可以帮助我更多,我将不胜感激,我是一名编程初学者。 – Artec
从学习[XmlDocument类](https://msdn.microsoft.com/en-us/library/system.xml.xmldocument(v = vs.110).aspx)和[List(Of T)Class ](https://msdn.microsoft.com/en-us/library/6sh2ey19(v = vs.110).aspx) – MrGadget