我有这样的XML:
<entry xmlns="http://www.w3.org/2005/Atom">
<fullstoryimage>
<img src="http://someimageurl/animage.jpg" width="220" height="150" border="0" />
</fullstoryimage>
</entry>
和这样的模型:
[Serializable]
[XmlRoot("entry", Namespace = "http://www.w3.org/2005/Atom")]
public class NewsItem
{
[XmlElement("fullstoryimage")]
public string Image { get; set; }
}
如何正确标记'fullstoryimage'以将内容拉为字符串?
注意:XML不是我的设计,不能改变,但它可能看起来很傻。
答案 0 :(得分:0)
如果你想要做的是获取图像链接,你可以使用Linq2Xml
XNamespace ns = "http://www.w3.org/2005/Atom";
var imgLink = XDocument.Parse(xml)
.Descendants(ns + "img")
.Select(i => i.Attribute("src").Value)
.FirstOrDefault();
答案 1 :(得分:0)
为了保持序列化的一致性,我选择了这个:
public class StoryImage
{
[XmlElement("img")]
public Image Img { get; set; }
}
public class Image
{
[XmlAttribute("src")]
public string Source { get; set; }
}
[Serializable]
[XmlRoot("entry", Namespace = "http://www.w3.org/2005/Atom")]
public class NewsItem
{
[XmlElement("fullstoryimage")]
public StoryImage FullStoryImage { get; set; }
}
然后可以通过newsItem.FullStoryImage.Img.Source。
访问该URL