2011-10-19 152 views
0

我想在C#中使用XDocument創建一個XML文件。從文本創建XML文件

文件的結構如下:

< acc Account="test" Partner="2144" CITY="Munsbach" /> 

< acc Account="test" Partner="2144" CITY="(Schuttrange" /> 

< acc Account="test" Partner="2145" CITY="Rumelange" /> 

< acc Account="test" Partner="2145" CITY="Belvaux" /> 

< acc Account="test" Partner="2145" CITY="Sassel" /> 

我加入了手動換行符爲更好的閱讀。

任何人都可以幫助我嗎?

感謝, Jeppen

+3

我希望該文件也有一個根元素 - 你已經證明是無效的XML文檔。 –

+0

也看到這個問題http://stackoverflow.com/questions/2948255/xml-file-creation-using-xdocument-in-c-sharp – stombeur

回答

1

我寧願寫一個數據類是這樣的:

[Serializable] 
    [XmlRoot("acc")] 
    public class Account 
    { 
     [XmlElement("Account")] 
     public string Account { get; set; } 

     [XmlElement("Partner")] 
     public int Partner { get; set; } 

     [XmlElement("CITY")] 
     public string City { get; set; } 
    } 

和序列化/與XmlSerializer反序列化。

 List<AccountClass> accounts = new List<AccountClass> 
     { 
      new AccountClass { Account = "test", Partner = 2144, City = "Munsbach" }, 
      new AccountClass { Account = "test", Partner = 2144, City = "Schuttrange" } 
     }; 

     XmlSerializer ser = new XmlSerializer(typeof(List<AccountClass>)); 
     using (FileStream fileStream = new FileStream("File.xml", FileMode.OpenOrCreate)) 
     { 
      ser.Serialize(fileStream, accounts); 
     } 

您的文件將是這樣的:

<?xml version="1.0"?> 
<ArrayOfAccountClass xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <AccountClass> 
    <Account>test</Account> 
    <Partner>2144</Partner> 
    <CITY>Munsbach</CITY> 
    </AccountClass> 
    <AccountClass> 
    <Account>test</Account> 
    <Partner>2144</Partner> 
    <CITY>Schuttrange</CITY> 
    </AccountClass> 
</ArrayOfAccountClass> 
+0

感謝您的快速響應。 我需要輸出多個這樣的: <帳戶值= 「測試」> <夥伴值= 「2144」> <市值= 「Munsbach」> <市值= 「Schuttrange」> 一個想法? Best, Jeppen – Jeppen

+0

這與您在問題中要求的文件完全不同!這對你來說更加困難。這個屬性「價值」沒有任何意義。你會有更多的數據被序列化爲像「城市」這樣的值嗎? – Fischermaen

+0

我在這裏提供的例子是我想要得到的結果: 這是我從SQL獲得的結果。不能做太多的事情。 – Jeppen