0
我目前使用這樣的LINQ到XML保存列表嵌套對象
XDocument xmlDoc = XDocument.Load(path);
List<ImportDefinition> importDefinitions = xmlDoc.Descendants("Root").Select(xElem => (ImportDefinition)xElem).ToList();
return importDefinitions;
對象的此列表中包含嵌套對象代碼加載XML文件到列表中的對象和每個人都有一個運營商解析XML到這樣的正確形式
public static explicit operator Rules(XElement xElem)
{
try
{
return new Rules()
{
FileNameRegEx = (string)xElem.Element("FileNameRegEx"),
FileExtension = (string)xElem.Element("FileExtension")
};
}
catch (Exception ex)
{
return null;
}
這對加載XML工作正常。我現在想要在對這些對象進行一些編輯之後將其保存回XML。
我希望這樣的事情會工作
XElement xml = new XElement("Root",
from p in ObjectList
select new XElement("File",RootObject
));
}
xml.Save("C:\\temp\\newimport.xml");
然而,這似乎只是輸出這個
<?xml version="1.0" encoding="utf-8"?>
<Root>
<File>MyNamespace.RootObject</File>
<File>MyNamespace.RootObject</File>
</Root>
它看起來它不使用加載文件來工作,當它使用自定義的運營商如取出保存的格式。將這些數據保存回XML的最佳方式是,當我讀取它時所用的格式是什麼?