В настоящее время я переписываю XmlDocument и XmlElements в XDocument и XElement. Я столкнулся с небольшой проблемой, я использовал просто один узел ModuleRequests
, а не через него. Я думал, что простое право я просто переписать так:Запуск элемента XDocument и получение определенных атрибутов
var propertiesRequested = new XmlDocument();
propertiesRequested.LoadXml(propertiesConfiguration);
var requests = propertiesRequested.SelectSingleNode("ModuleRequests");
foreach (XmlNode request in requests)
{
var propertyValue = request.Attributes["Id"].Value;
if (systemProperties.ContainsKey(propertyValue) == false)
{
systemProperties.Add(propertyValue, request.Attributes["Request"].Value);
}
}
Для этого:
var propertiesRequested = XDocument.Parse(propertiesConfiguration);
var requests = propertiesRequested.Element("ModuleRequests");
foreach (XNode request in requests)
{
var propertyValue = request.Attributes["Id"].Value;
if (systemProperties.ContainsKey(propertyValue) == false)
{
systemProperties.Add(propertyValue, request.Attributes["Request"].Value);
}
}
Ну, разумеется, это не так легко, то я думал, что штраф я сделаю это:
foreach(XNode request in requests.Nodes())
но это дало мне еще больше проблем, поскольку XNode не имеет атрибута.
Как вы, вероятно, можете сказать, что я немного новичок, когда дело доходит до чтения xml. Я надеюсь, что кто-то сможет мне помочь. Что такое правильный способ переписать из XmlDocument в XDocument