我必须向XML导出一个BusinessObjects列表 - myBOs
我之前使用XmlDocument完成了这样的任务。
现在,我读到System.Xml.Linq使用起来更灵活。所以我拿了XDocument。
现在逻辑是以下(伪代码):
Method ExportBOs(myBOs, fileName)
xDoc = New XDocument ' create
foreach bo in myBOs
xDoc.Add(GetMyBOAsNode(bo)) ' build
xDoc.Save(filename) ' save
Method GetMyBOAsNode(myBo) as XNode
result = New XNode(myBo.Name) ' ??? don't work
Return result
有什么方法可以处理?
答案 0 :(得分:5)
你有两个问题:
XNode
是抽象的。我怀疑你实际上想要创建一个XElement
XElement
,将其添加到文档中,然后将多个子元素添加到 根元素。答案 1 :(得分:3)
首先,您需要拥有一个根元素(不允许多个根)。
其次,使用System.Xml.Linq.XElement
:
public void ExportBOs(IEnumerable<myBO> myBOs, string fileName)
{
var root = new XElement("BOs");
foreach(var bo in myBOs){
root.Add(new XElement("BO", bo.Name));
}
root.Save(filePath);
}