Я очень новичок в десериализации, но мне дали задание десериализовать несколько каналов и извлечь данные для манипуляции.
у меня есть этот RSS-канал, который структурирован следующим образом:
<channel>
<title></title>
<link></link>
<description></description>
<ttl></ttl>
<item>
<title></title>
<link></link>
<description></description>
<pubDate></pubDate>
<guid></guid>
</item>
<item>
в моей программе у меня есть следующая структура класса
[XmlRoot("channel")]
public class RahChannel
{
[XmlElement("title")]
public string title { get; set; }
[XmlElement("link")]
public string link { get; set; }
[XmlElement("description")]
public string description { get; set; }
[XmlElement("ttl")]
public int ttl { get; set; }
[XmlElement("item")]
public ItemSet[] ItemArray { get; set; }
}
[XmlArray]
class ItemSet
{
[XmlElement("title")]
public string itemtitle { get; set; }
[XmlElement("link")]
public string itemLink { get; set; }
[XmlElement("description")]
public string itemDescription { get; set; }
[XmlElement("pubDate")]
public string pubDate { get; set; }
[XmlElement("guid")]
public string guid { get; set; }
}
Я использую класс system.xml.serialization, очевидно.
Меня беспокоит то, что элементы массива Items не получат значения, которые они должны получить, потому что они имеют общие имена с элементами вне массива, также правильно ли я создал массив?
я использовал эту структуру для десериализации каналов JSON, и она работала там, но я не уверен, правильно ли я ее перевел.
и каков фактический метод десериализации XML? я знаю, что MSDN говорит, что я могу сделать (http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.deserialize%28v=vs.71%29.aspx), но я просто хочу подтвердить. Ваше здоровье.