0
У меня есть ниже XMLКак преобразовать XML в словарь словарей
<?xml version="1.0" encoding="UTF-8"?>
<Revisions>
<Revision name="R1">
<MasterTags>
<MasterTag name="MT1">
<ChildTags>
<ChildTag>CT1</ChildTag>
</ChildTags>
</MasterTag>
<MasterTag name="MT2">
<ChildTags>
<ChildTag>CT4</ChildTag>
</ChildTags>
</MasterTag>
</Revision>
<Revision name="R2">
<MasterTags>
<MasterTag name="MT6">
<ChildTags>
<ChildTag>CT21</ChildTag>
<ChildTag>CT22</ChildTag>
<ChildTag>CT23</ChildTag>
</ChildTags>
</MasterTag>
<MasterTag name="MT7">
<ChildTags>
<ChildTag>CT24</ChildTag>
<ChildTag>CT25</ChildTag>
<ChildTag>CT26</ChildTag>
</ChildTags>
</MasterTag>
</Revision>
</Revisions>
Я хочу, чтобы преобразовать этот XML в словарь словарей с использованием LINQ
Dim dicRevisionTags As New Dictionary(Of String, Dictionary(Of String, List(Of String)))
Я попытался с помощью
Dim document = XDocument.Load("Inputxml.xml")
также что-то вроде
Dim ccc = document.Elements("Revisions").ToDictionary(Function(e) e.Elements("Revision").ToDictionary(Function(d) d.Elements("MasterTags")))
, но не смог построить LINQ, которые дают выход в
R1-> key, Value(M1, list(of CT1))
, Value(M2, list(of CT4))
R2-> key, Value(M6, list(of CT21
CT22
CT23))
, Value(M7, list(of CT24
CT25
CT26))
Благодаря Gurpreet Гилл
Thanks Daniel Hilgarth, он работал как ожидалось. благодаря – gsgill76
VB Версия :: Dim ldicRevisionTags Как словарь (Of String, словарь (Of String, List (Of String))) = document.Root.Elements ("Редакция"). ToDictionary (функция (х) CType (x.Attribute («name»), String), Функция (x) x.Element («MasterTags»). Элементы («MasterTag»). ToDictionary (Function (y) CType (y.Attribute («name») String), Функция (y) y.Element («ChildTags»). Элементы («ChildTag»). [Выбрать] (Функция (z) z.Value) .ToList())) – gsgill76