0
Я пытаюсь десериализовать XML-ответ от API с помощью C#. Я не могу получить значения элемента ItemList
. Я могу получить другие элементы, кроме ItemList
. Ниже приведен пример XML, а ниже - классы, и, наконец, функция сериализации.Deserialization XmlArray не заполняется
XML:
<Root xmlns="http://whatever">
<Child1>
<ChildElement1>16f09999</ChildElement1>
</Child1>
<ItemList>
<Element1>
...
</Element1>
<Item>
<ItemElem1>12345567</ItemElem1>
<ItemElem2>12356465784</ItemElem2>
...
<ItemAttributes>
...
</ItemAttributes>
</Item>
<Item>
...
</Item>
</ItemList>
</Root>
[Serializable()]
[System.Xml.Serialization.XmlRoot("Root")]
public class ResponseClass
{
[System.Xml.Serialization.XmlElement("Child1")]
public OperationRequest OperationRequest { get; set; }
[System.Xml.Serialization.XmlElement("ItemList")]
public ItemList ItemList { get; set; }
}
Класс:
[Serializable()]
[System.Xml.Serialization.XmlRoot(ElementName = "ItemList")]
public class ItemList
{
[XmlArray("ItemList")]
[XmlArrayItem("Item", typeof(Item))]
public Item item { get; set; }
[System.Xml.Serialization.XmlElement("Element1")]
public int Element1 { get; set; }
}
Serializer:
XmlSerializer serializer = new XmlSerializer(typeof(ResponseClass));
StreamReader reader = new StreamReader(path);
response = (ResponseClass)serializer.Deserialize(reader);
reader.Close();
XmlArray в ITEMLIST из responseclass .... и некоторые модификации, такие как удаление xmlroot из ITEMLIST класса ... и в свойстве элемента удаления XmlArray ... – terrybozzio
, который работает, спасибо! –
не только все, что я сказал выше, то ... элемент element1 будет создан с именем, которое вы указали в ctor xelement ... – terrybozzio