Я переделал этот вопрос, поскольку некоторые из них предположили, что трудно понять, что я делаю после этого, поэтому немного урезали вопрос.VB.NET Loop Through XML Результаты
<?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, который я вернул, я передаю несколько идентификаторов службе и возвращает этот XML.
Если я отправляю 2 идентификатора, он возвращает 2 'успешных элемента Responses' для каждого идентификатора, который вы можете видеть в дочернем узле 'dln' под ответом ', вы можете видеть, что они разные.
«Позиция» - это просто идентификатор, который я представил в «запросе» первым. «response» также имеет элемент под названием «лицензия» и несколько элементов «права».
Я хотел бы вставить эти «» пособий в DataTable, отформатированный таким образом
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)))
Каждый столбец относится к узлу под каждым элементом 'Entitlements. Я хочу добавить новую строку в мой datatable каждый раз, когда у меня есть элемент «права».
Существует дополнительная колонка «Драйвер», это должно быть заполнено номером в «положении».
Так что мой вывод к моему столу, я хотел бы иметь следующее:
Как вы можете видеть, что «Driver» Столбец относится к значению узла «позиции».
Надеюсь, это имеет больше смысла, чем мое предыдущее. Я удалил какой-либо из своих собственных кодов, о которых я сказал, что сделал это явно не то, что требовалось.
Вы считали десериализацию своих объектов JSON для .net? Кажется, что много накладных расходов для преобразования в Xml и запроса. – Filburt
@Filburt Я бы не знал, с чего начать там, я боюсь - я очень самоучкой в том, что знаю, поэтому все это для меня. – Lynchie
Отъезд [VB.net JSON Deserialize] (http://stackoverflow.com/q/8118019/205233) - он должен вас начать. – Filburt