【发布时间】:2016-09-08 20:15:00
【问题描述】:
我有以下 XML,我想在 WPF 中填写一个 DataGrid
<?xml version="1.0" encoding="UTF-8"?>
<Start>
<General>
<ItemList>
<Item>
<name>iustin</name>
<value>20</value>
<behaviourList>
<behaviour>1</behaviour>
<behaviour>2</behaviour>
<behaviour>3</behaviour>
<behaviour>4</behaviour>
</behaviourList>
</Item>
<Item>
<name>alin</name>
<value>30</value>
<behaviourList>
<behaviour>1</behaviour>
<behaviour>2</behaviour>
<behaviour>3</behaviour>
<behaviour>4</behaviour>
</behaviourList>
</Item>
</ItemList>
</General>
</Start>
我已经做到了。
public MainWindow()
{
InitializeComponent();
DataSet dataSet = new DataSet();
dataSet.ReadXml(@"C:\Users\WAVI\documents\visual studio 2015\Projects\DummyProject\DummyProject\XML\TemperatureSensors.xml");
dataGrid.ItemsSource = dataSet.Tables[2].DefaultView;
}
但我无法显示行为列表,我知道它,因为我说:Tables[2],这是 Tables[3],但我不知道如何解决这个问题。我也希望行为是一个组合框。
P.S:这只是一个例子,但想法是用一种通用的方式制作它。
谢谢
【问题讨论】:
-
您可能必须自己解析文件而不使用数据集,xml 正在调用数据集的第一个标签“开始”。然后创建一个表“General”。下一级标签是列名。最后是行数据。您有更多级别的标签导致问题。 ReadXml 开始将数据解析为更多表,这使得处理最终结果变得困难。