2017-06-07 10 views
-1

でXMLファイルを作成し、私は私が開いて、中に書きたいxmlファイルを持っているxmlファイルは、このような構造を持っています。オープンとC#

<?xml version="1.0" encoding="UTF-8"?>   
    <polygons>    
    <polygon name="polygon-1">   
     <point>  
      <x>38,241885</x>  
      <y>-5,965407</y>  
     </point>  
      <point>   
      <x>38,242251</x>   
      <y>-5,965423</y>   
     </point>   
    </polygon> 
    <polygon name="polygon-2"> 
     . 
     . 
    </polygon> 
    </polygons> 

私は、私のXMLに新しいポリゴンを追加したいです私はそれを読んでから最後の位置にポリゴンを追加しなければなりません。これどうやってするの?

+1

を使用して、いくつかの異なる方法です。何か試しましたか?あなたは 'C#XML'のためにgoogleしましたか? –

答えて

0

を使用して構造をシリアル化は、.NETのためのXMLのチュートリアルの何百もあるのXML LINQに

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Xml; 
using System.Xml.Linq; 

namespace ConsoleApplication59 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      string xmlHeader = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><polygons></polygons>"; 

      XDocument doc = XDocument.Parse(xmlHeader); 
      XElement polygons = doc.Root; 

      polygons.Add(new XElement("polygon", new object[] { 
       new XAttribute("name","polygon-1"), 
       new XElement("point", new object[] { 
        new XElement("x","38,241885"), 
        new XElement("y","5,965407") 
       }) 
      })); 

      XElement polygon = polygons.Element("polygon"); 

      XElement newPoint = new XElement("point", new object[] { 
        new XElement("x","38,241885"), 
        new XElement("y","5,965407") 
       }); 

      polygon.Add(newPoint); 

     } 
    } 
} 
+0

とxmlファイルをどこにロードしますか? @jdweng – dbz

+0

このコードは@jdwengコードと同じですが、xmlファイル 'XDocument doc = XDocument.Load(@" data/polygons.xml ");'と 'doc .Save(@ "data/polygons.xml"); – dbz

+0

Load(ファイル名またはURI)を使用するか、Parse(文字列)を使用できます。私は、私の例ではParseで文字列を使用しました。ファイルからの読み込みを行うには、「解析」を「読み込み」に変更します。 – jdweng

関連する問題