2016-12-20 8 views
0

私は開く必要がある大きいxmlファイルを持っていて、既存のファイルの<employees>ノード内にノード<employee>を追加する必要があります。C#で既存のXMLファイルにデータを追加するには?

以下はmy xmlのフォーマットです。

<company> 
    <employees> 
     <employee> 
      <id>1</id> 
      <name>sa</name> 
     </employee> 
     <employee> 
      <id>2</id> 
      <name>sa</name> 
     </employee> 
     <employee> 
      <id>3</id> 
      <name>sa</name> 
     </employee> 
     <employee> 
      <id>4</id> 
      <name>sa</name> 
     </employee> 
    </employees> 
</company> 

誰かが私がXDocumentまたはXmlDocumentを使用せずに、既存のXMLファイルにデータを追加することができますどのように私を助けることができます。 この主な理由は、ファイルサイズが大きすぎるため、完全なファイルをメモリにロードして処理を続けることを想定していません。

+2

なぜ "XDocumentを使用しない"ですか? –

+0

私のxmlファイルには多数のデータが含まれています。それはLakhsの記録も含んでいるかもしれない。そのため、私はXmlDocumentを使用したくありません。パフォーマンスが低下する可能性があります。 –

+1

'XDocument'ではなく、' XmlDocument'と言っています。それともどちらかを使いたいのですか? –

答えて

0
class Employee 
{ 
    public int Id; 
    public string Name; 



    public void EmployeeXMLs() 
    { 
     var Employees = new[] { new Employee 
            {Name="Rajat Jaiswal", 
          Id = 101 
          }, 
        new Employee  {Name="Sharad Jaiswal", 
          Id = 102 
          }, 
        }; 

     XElement contacts = new XElement("employees", 
        from p in Employees 
        select new XElement("employee", 
         new XElement("Id", p.Id), 
         new XElement("Name",p.Name) 

        ) 
       ); 
     Console.WriteLine(contacts); 

    } 
} 
+0

OPは大きなXMLファイルをメモリに読み込まないようにしたい。あなたの 'xDoc'は' XDocument'であり、ファイルを解析して全体をメモリに入れます。 –

+0

あなたの編集では、既存のXMLファイルは一切読み込まれません... OPの質問とそのコメントをもう一度お読みください –

+0

@Rajat Jaiswal:完全なファイルをメモリにロードせずに既存のファイルにデータを追加する必要があります。 –

関連する問題