Создание XML-файла из текста - PullRequest
0 голосов
/ 19 октября 2011

Я пытаюсь создать файл XML, используя XDocument в C #.

Файл имеет следующую структуру:

< 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

1 Ответ

1 голос
/ 19 октября 2011

Я бы предпочел написать класс данных следующим образом:

    [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>
...