我有xml文檔(你可以從web請求中查找它here)。解析xml元素到類
我需要得到的CCY,base_ccy,購買和銷售來自每個 「EXCHANGERATE」 元素的屬性值:
<exchangerate ccy="EUR" base_ccy="UAH" buy="10.81284" sale="10.81284"/>
我手動創建的類EXCHANGERATE,這看起來是這樣的:
[Serializable]
public class ExchangeRate
{
[XmlAttribute("ccy")]
public string Ccy
{ get; set; }
[XmlAttribute("base_ccy")]
public string Base_ccy
{ get; set; }
[XmlAttribute("buy")]
public string Buy
{ get; set; }
[XmlAttribute("sale")]
public string Sale
{ get; set; }
}
,並試圖反序列化的XML元素「EXCHANGERATE」(這是我從整個XML文檔分離所)在匯率類的實例以這種方式:
private ExchangeRate DesereilizeXMLNode(XmlNode node)
{
XmlSerializer mySerializer = new XmlSerializer(typeof(ExchangeRate));
TextReader reader = new StringReader(node.OuterXml);
return (ExchangeRate)mySerializer.Deserialize(reader);
}
當我調試DesereilizeXMLNode方法時,我調用反序列化方法時收到異常。 Grid元素第一行MainWindow.xaml中的異常是XAMLParseException(這很奇怪),我認爲它不適合調用異常。
問題是:我哪裏錯了?試圖以這種方式從xml-element創建對象實例時我錯了嗎?也許我試圖反序列化只有XML屬性沒有整個XML文檔的反序列化時,我犯了錯誤?
我更新了xml-response的鏈接。但我的目標不是反序列化整個XML文檔,因爲我並不真正需要它的大部分。整個文檔只需要3行。所以我想我可能只反序列化我需要的xml節點。是否有任何其他選項來創建具有屬性的單個XML元素的對象? –
看來我可以通過這種方式獲取屬性值。其實這不是一個反序列化,但我想沒有必要在我的情況下使用它。感謝幫助! –