Как создать массив внутри XML - PullRequest
0 голосов
/ 04 ноября 2019

Мне нужна помощь по созданию массива внутри XML document.

Я могу создать файл с одним пользователем, но это должен быть список.

У меня это какUserList.cs

    [XmlRoot("MyList")]
    public class MyListXml
    {
        [XmlElement("Id")]
        public int Id { get; set; }

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

        [XmlElement("User")]
        public UserXml usersXml { get; set; }

        public class UserXml
        {
            [XmlElement("Id")]
            public int Id { get; set; }

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

        }
}

и это внутри моего контроллера

        public void GetUsersXml()
        {
            MyListXml myListXml = new MyListXml
            {
                Id = 5,
                Date = DateTime.Today.ToString("yyyy-MM-dd"),

                UsersXml = new UserXml
                {
                    Id = 111,
                    Name = "John Doe",
                }
            };

            userListXml.SaveXml("userList.xml");

        }

Я получаю XML-документ со следующими данными

<?xml version="1.0"?>
<MyList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Id>5</Id>
  <Date>2019-11-04</Date>
  <User>
    <Id>111</Id>
    <Name>John Doe</Name>
  </User>
</MyList>

но, как я уже сказал, мне нужноlist of users, вот так

<?xml version="1.0"?>
<MyList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Id>5</Id>
  <Date>2019-11-04</Date>
  <User>
    <Id>111</Id>
    <Name>John Doe</Name>
  </User>
  <User>
    <Id>112</Id>
    <Name>Jane Doe</Name>
  </User>
  <User>
    <Id>113</Id>
    <Name>Bill Doe</Name>
  </User>
</MyList>

Я знаю, что мне нужно использовать foreach с данными из моего database, но я не уверен, где разместить foreach, и мой код неверен...

1 Ответ

0 голосов
/ 04 ноября 2019

Используйте следующее:

    [XmlRoot("MyList")]
    public class MyListXml
    {
        [XmlElement("Id")]
        public int Id { get; set; }

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

        [XmlElement("User")]
        public List<UserXml> usersXml { get; set; }

    }
    public class UserXml
    {
        [XmlElement("Id")]
        public int Id { get; set; }

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

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...