Вопрос XML-сериализации - PullRequest
       7

Вопрос XML-сериализации

1 голос
/ 31 марта 2009

Есть XML со следующей формой:

 <categories someAttribute="test">
  <category id="1">
   <title></title>
  </category>
  <category id="1">
   <title></title>
  </category>
 </categories>

Нет способа изменить структуру XML. Но то, что я хочу, это заменить ошибочную генерацию XML с кодировкой вручную на XMLSerialization.

Пожалуйста, помогите с этим списком категорий. Есть ли способ указать XML сериализатору не переносить список категорий

Код для примера:

public class Category
{
    public int Id{get;set;}
}

public class Categories
{
    public List<Category> CategoriesList { get; set; } 
}

Ответы [ 3 ]

3 голосов
/ 31 марта 2009

Вроде так:

public class Category
{
    [XmlAttribute("id")]
    public int Id { get; set; }

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

[XmlRoot("categories")]
public class Categories
{
    [XmlAttribute("someAttribute")]
    public string SomeValue { get; set; }

    [XmlElement("category")]
    public List<Category> CategoriesList { get; set; }
}
0 голосов
/ 31 марта 2009

Посмотрите на XmlAnyElementAttribute.

0 голосов
/ 31 марта 2009

с помощью интерфейса IXmlSerializable вы можете самостоятельно определить, как писать XML, или вы можете создать свой список в массив, я думаю, он будет написан так, как вы хотите, но я не уверен ...

...