2011-07-12 89 views
1

我要導出到XML的BusinessObjects列表 - myBOsXml.Linq:添加XNode到的XDocument

我之前曾與這樣的任務,使用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  

有什麼應對辦法?

回答

5

你有兩個問題:

  • XNode是抽象的。我懷疑你實際上想創建一個XElement
  • 不能有多個頂級元素。我懷疑你想創建一個根XElement,將其添加到文檔中,然後添加多個子元素根元素。
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); 
}