2011-10-30 16 views
1

eの値(毎回異なる)に基づいてXML文書に可変数のXElementsを追加する必要があります。私は私が以下にあるものに似た何かをする必要があると思うが、以下のコードは私に6エラーを与える。これらは次のとおりである:forループを使用して、可変数のXElementsでXDocumentを使用してXMLを作成します。

  • のみ割り当て、呼び出し、インクリメント、デクリメント、および新しいオブジェクト式は、/「)」/「)」
  • 「の」ステートメント×2
  • 無効な表現用語として使用することができます

    ;私は間違って何をやっている

    int e = 3; 
    
    doc.Root.Add(new XElement(ns + "LineItemList", 
    
    for(int i = 0; i <= e; i++) 
    { 
        new XElement("ItemNumber", i.ToString()); 
    } 
    
    )); 
    

を期待?

私の質問には、私のLineItem要素をLineItemListelementの中に入れるために、私はLineItemをLineItemListの宣言の中に置く必要があると理解しています。

明示的に要素を開いたり閉じたりする方法を教えてもらえれば、暗黙的に開かれたり閉じたりするのではなく、多くの助けになります。

答えて

6

は、この方法を試してください。

int e = 3; 
XDocument doc = new XDocument(
      new XElement(ns + "LineItemList", 
       Enumerable.Range(0, e).Select(i => new XElement("ItemNumber", i)) 
     )); 
+0

ありがとう、完璧に=) – JMK

0

メソッド呼び出しの中でforループを使用することはできません。私はこのコードをテストしていない

for(int i = 0; i <= e; i++) { 
    XElement element = new XElement("ItemNumber", i.ToString()); 
    doc.Root.Add(element); 
} 

たぶん、あなたはこのような何かをしたいです。

2

私はあなたが探していると思う:

int e = 3; 
XElement lineElement = new XElement(ns + "LineItemList"); 
doc.Root.Add(lineElement); 
for(int i = 0; i <= e; i++) 
{ 
    XElement itemElement = new XElement("ItemNumber", i.ToString()); 
    lineElement.Add(itemElement) 
} 
+0

私はこれが最も有用であることが判明。ありがとうございました。 – paulpitchford

関連する問題