【发布时间】:2016-01-18 15:17:20
【问题描述】:
我已经重做这个问题,因为一些人认为我很难理解我所追求的,所以稍微减少了这个问题。
<?xml version="1.0"?>
<root>
<succesfulResponses>
<position>0</position>
<response>
<dln>BBUTU204250VS9VT</dln>
<licence>
<entitlements>
<code>A</code>
<validFrom/>
<validTo/>
<priorTo>false</priorTo>
<type>F</type>
</entitlements>
<entitlements>
<code>B</code>
<validFrom/>
<validTo/>
<priorTo>false</priorTo>
<type>F</type>
</entitlements>
</licence>
</response>
</succesfulResponses>
<succesfulResponses>
<position>1</position>
<response>
<dln>BTXRS755313Y99AT</dln>
<licence>
<entitlements>
<code>A</code>
<validFrom>2003-02-28</validFrom>
<validTo>2043-05-30</validTo>
<priorTo>false</priorTo>
<type>P</type>
</entitlements>
<entitlements>
<code>AM</code>
<validFrom>2014-05-14</validFrom>
<validTo>2043-05-30</validTo>
<priorTo>false</priorTo>
<type>P</type>
</entitlements>
</licence>
<httpStatusCode>200</httpStatusCode>
</response>
</succesfulResponses>
</root>
这是我返回的 XML,我向服务提交了几个 ID,它返回了这个 XML。
如果我发送 2 个 ID,它会为每个 ID 返回 2 个“successfulResponses”元素,您可以在“response”下方的子节点“dln”中看到这些 ID,您可以看到它们是不同的。
'position' 就是我首先在'request' 中提交的ID。 'response' 也有一个叫做 'licence' 的元素和几个 'entitlement' 元素。
我希望将这些“权利”插入以这种方式格式化的数据表中
Results.EntitlementsTbl.Columns.Add(New DataColumn("Code", GetType(String)))
Results.EntitlementsTbl.Columns.Add(New DataColumn("Valid From", GetType(String)))
Results.EntitlementsTbl.Columns.Add(New DataColumn("Valid To", GetType(String)))
Results.EntitlementsTbl.Columns.Add(New DataColumn("Prior To", GetType(String)))
Results.EntitlementsTbl.Columns.Add(New DataColumn("Type", GetType(String)))
Results.EntitlementsTbl.Columns.Add(New DataColumn("Driver", GetType(String)))
每一列都与每个“权利”元素下方的一个节点相关。每当我有一个“权利”元素时,我都希望在我的数据表中添加一个新行。
还有一个额外的列“驱动程序”,需要用“位置”中的数字填充。
所以我的表的输出我想要以下内容:
我希望这比我以前更有意义。我已经删除了我自己声明的任何代码,因为它显然不是必需的。
【问题讨论】:
-
您是否考虑过将您的 JSON 反序列化为 .net 对象?转换为 Xml 并进行查询似乎需要很多开销。
-
@Filburt 恐怕我真的不知道从哪里开始我所知道的一切都是自学的,所以这对我来说都是一个学习曲线。跨度>
-
查看VB.net JSON Deserialize - 它应该可以帮助您入门。
-
@Filburt 谢谢你,理想情况下,当我有更多时间时,我会想办法解决这个问题。我现在只需要将这些数据放入表格中。
-
这里不完全清楚你想要实现什么输出 - 你能从你的 XML 文档中添加预期的输出吗?你只接受了最后一个
dln,但是使用所有司机的职位,你想要什么权利,你想要他们在哪里?