У меня есть XML-файл следующим образом:конвертировать словарь в XML с помощью C#
<states>
<state name ="Alaska">
<Location Name="loc1">
<Address>testadd1</Address>
<DateNTime>d1</DateNTime>
</Location>
<Location Name="loc2">
<Address>add2</Address>
<DateNTime>d2</DateNTime>
</Location>
</state>
</states>
Я преобразовал это в следующем словаре следующим образом:
XDocument doc = XDocument.Load(Server.MapPath("test2.xml"));
IDictionary<string, Dictionary<string, Property>> dictionary = doc.Root.Elements("state").ToDictionary(
s => s.Attribute("name").Value,
s => s.Elements("Location").ToDictionary(
loc => loc.Attribute("Name").Value,
loc => new Property
{
address = loc.Element("Address").Value,
datetime = loc.Element("DateNTime").Value
}));
класс:
public class Property
{
public string address;
public string datetime;
}
Я внес изменения в словарь, Теперь мне нужно преобразовать это обратно в XML. Может ли кто-нибудь предложить мне, как я могу это сделать?
Где именно проблема? Простые предложения о том, как это сделать, похоже, идут по строкам: «Создайте XML-документ и пропустите свой словарь, добавив к нему элементы». Более сложными было бы найти сериализатор, который сделает эту работу для вас ... Я бы подумал, что просто делать это вручную довольно просто, если вы можете сделать обратное ... – Chris
[This] (http: // social. msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/cc440cd8-122d-4e90-bfc1-de237c4a4760/) сообщение может заставить вас идти. – mreyeros