1
類
我試圖反序列化下面的XML包裹它的價值:C#反序列化XML屬性而不
<venue href="http://SomeUrl">
<location id="ABC"/>
<title>Some title</title>
</venue>
當我與類包裝它像下面XmlSerializer
作品般的魅力
[XmlRoot(ElementName = "venue")]
public class VenueModel
{
[XmlElement("location")]
public Location Location;
[XmlElement("title")]
public string Title;
[XmlAttribute("href")]
public string Href;
}
public class Location
{
[XmlAttribute("id")]
public string Id;
}
但在我看來,將簡單的字符串從Location
包裝到單獨的類中是非常枯燥的解決方案。我想要實現的是創建一個更簡單的展平模型,如下所示:
[XmlRoot(ElementName = "venue")]
public class VenueModel2
{
[SomeMagicAttribute]
public string LocationId;
[XmlElement("title")]
public string Title;
[XmlAttribute("href")]
public string Href;
}
第一個問題?是否有可能使用C#System.Xml.Serialization
?如果是這樣,獲取這些數據的神奇屬性是什麼?
在類位置你缺少文本:[XmlText] public string Text {get;組; }否則,您無法讀取值 中的值。 –
位置沒有任何文本值。它只包含ID發送爲屬性。這是它唯一設計的 – Misiakw
在這種情況下,它不應該是一個屬性,而應該是locationid的值。但我想你不能改變這個? –