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

シリアル化の一貫性を保つために、私はこれを使用しました。

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; }
}

このURLには、newsItem.FullStoryImage.Img.Sourceからアクセスできます。

于 2012-12-14T17:56:51.200 に答える
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 に答える