【发布时间】:2017-09-07 19:59:58
【问题描述】:
我在 VisualStudio 2017 中使用 VisualBasic
我的程序的目标是使用datagridview生成一个xml文件。
我希望能够创建的 XML 应该如下所示:
<dsetDataManager xmlns="http://tempuri.org/dsetDataManager.xsd">
<NetworkAnalyzerTrace>
<TraceName>S21ZoomedIn</TraceName>
<Channel>Channel1</Channel>
<Measurement>S21</Measurement>
<Format>LogMag</Format>
<MinFrequencyStartParam>1.5</MinFrequencyStartParam>
<MinFrequencyStartEnum>AutoSpanByBandwidthOrQ</MinFrequencyStartEnum>
<MinFrequencyStopParam />
<MinFrequencyStopEnum />
<FrequencyStartParam>4</FrequencyStartParam>
<FrequencyStartEnum>AutoSpanByBandwidthOrQ</FrequencyStartEnum>
<FrequencyStopParam />
<FrequencyStopEnum />
<NumPoints>101</NumPoints>
<SpecEquation>
<Name>FrequencyDelta</Name>
<Filter>1</Filter>
<Band>1</Band>
<MinEquation>-(0.005 + TuneIndex * (0.003/250))</MinEquation>
<MaxEquation>0.005 + TuneIndex * (0.003/250)</MaxEquation>
<MinInclusion>Inclusive</MinInclusion>
<MaxInclusion>Inclusive</MaxInclusion>
</SpecEquation>
</NetworkAnalyzerTrace>
</dsetDataManager>
我的数据集是“dsetDataManager”。我的数据表是“NetworkAnalyzerTrace”和“SpecEquation”。我创建这个 xml 文件的方式是使用:
dsetDataManager.writeXML('FilePath')
我使用 DataGridView 为每个表创建行。如何使用嵌套在“NetworkAnalyzerTrace”内的“SpecEquation”数据表编写 XML 文件?
我目前在“NetworkAnalyzerTrace”之外使用“SpecEquation”创建 XML 没有问题,问题只是将其插入到其他数据表中。
非常感谢
更新 谢谢大家的cmets,他们很有启发性。我做了更多研究,发现我遇到的主要问题是关于 DataTables 中的关系列。我想出了如何在表之间建立这些关系,并且 writeXML 函数将表嵌套在父表中。
【问题讨论】:
-
将您的数据集转换为可以直接序列化为您的 xml 格式的类结构。要序列化的类可以通过复制上面的 xml 并执行 Edit >> Paste Special >> Paste XML as classes 在 IDE 中自动生成。然后通过添加获取数据表并将它们转换为类结构的方法来扩展生成的类。最后,序列化。
-
另外,我认为您有提出一个体面问题的条件,但已经有一个结束投票认为这个问题过于宽泛。就目前而言,它可能是......但我建议您添加更多代码来解决有关数据表及其与 dgv 关系的任何问题。
-
对不起,我是新手。我不太确定如何缩小问题范围:Writing a dataset to xml and nest data tables in the xml
标签: xml vb.net datagridview datatable