2

我有这样的 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 不是我设计的,不能更改,无论它看起来多么愚蠢。

4

2 回答 2

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();
于 2012-11-20T17:35:24.173 回答
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。

于 2012-12-14T17:56:51.200 回答