2014-06-09 60 views
-1

我想做一個快速程序,創建一個非常簡單的XML文件。我想創建一個使用'for循環'的XML文件來多次創建XML的一部分。當我建立我得到一個錯誤說‘對’「的表達式無效項。我檢查我的括號平衡,它似乎要退房。如何使用for循環編寫XML文件?

有誰知道這個錯誤是什麼意思?

static void Main(string[] args) 
    { 
     XDocument myDoc = new XDocument(
     new XDeclaration("1.0" ,"utf-8","yes"), 
     new XElement("Start"), 

     for(int i = 0; i <= 5; i++) 
     { 
         new XElement("Entry", 
          new XAttribute("Address", "0123"), 
          new XAttribute("default", "0"), 

         new XElement("Descripion", "here is the description"), 

         new XElement("Data", "Data goes here ") 

       ); 

      } 
     ); 

     } 
+0

這可能是問題,但有我可以用另一種方法? – tennis779

+0

這絕對是問題 – mclaassen

+0

http://msdn.microsoft.com/en-us/library/system.xml.linq.xdocument.aspx – mclaassen

回答

7

你」 。重新目前正試圖在聲明中間使用for循環這行不通

選項:

  • 使用Enumerable.Range到創建一個範圍值,然後變換使用Select

    XDocument myDoc = new XDocument(
        new XDeclaration("1.0" ,"utf-8","yes"), 
        // Note that the extra elements are *within* the Start element 
        new XElement("Start", 
         Enumerable.Range(0, 6) 
            .Select(i => 
             new XElement("Entry", 
              new XAttribute("Address", "0123"), 
              new XAttribute("default", "0"), 
              new XElement("Descripion", "here is the description"), 
              new XElement("Data", "Data goes here "))) 
    ); 
    
  • 首先創建文檔,並在一個循環

    XDocument myDoc = new XDocument(
        new XDeclaration("1.0" ,"utf-8","yes"), 
        new XElement("Start")); 
    for (int i = 0; i <= 5; i++) 
    { 
        myDoc.Root.Add(new XElement("Entry", 
             new XAttribute("Address", "0123"), 
             new XAttribute("default", "0"), 
             new XElement("Descripion", "here is the description"), 
             new XElement("Data", "Data goes here ")); 
    } 
    
+0

好的,謝謝,我給它一個鏡頭非常感謝 – tennis779

+0

這是爵士爵士在那裏說話! – niklon

+0

當我使用這種方法時,我得到一個運行時錯誤,說這會造成一個結構錯誤的文檔。 – tennis779