Получить только имя элемента и значение определенного родительского узла
У меня есть сценарий C# и XML, но я не могу его решить
<AppTestData> <Contact> <Name>Abe</Name> <Age>33</Age> <City>York</City> ... </Contact> <Agent> <Code>A103S</Code> <Region>North</North> <Resp>Service</Resp> .... </Agent> <Product> <Cat>Electronics</Cat> ... </Product> </AppTestData>
Я хотел получить имена дочерних элементов и значение в паре ключ-значение. Например контакт
Что я уже пробовал:
I tried like below <pre> XDocument doc = XDocument.Load(new XmlTextReader(xmlName)); Dictionary<string, string> keyValuePairs = new Dictionary<string, string>(); if (doc.Descendants("Contact") != null) { foreach (XElement element in doc.Descendants().Where(p => !p.HasElements)) { int keyInt = 0; string keyName = element.Name.LocalName; while (keyValuePairs.ContainsKey(keyName)) { keyName = $"{element.Name.LocalName}_{keyInt++}"; } keyValuePairs.Add(keyName, element.Value); } } return keyValuePairs;
Но он добавляет каждый другой узел элемента и значение от других родителей, таких как агент.