使用 c# 从 xml 附件标签中提取 url 值
Extracting url value from xml enclosure tag with c#
我正在尝试提取 url 的值,它基本上是附件标签中图像的 url,如下所示:
<enclosure url="http://s3-us-west-1.amazonaws.com/s3cazinnet/2016/06/OZRK_KRAJINA_2016_5525.JPG?mtime=1465158486" length="" type="image/jpeg">
我不想用整个 class 来打扰您,所以我 post 只是部分代码。这是我试图获取 url:
值的代码部分
if (xmlNode[i].SelectSingleNode("enclosure:url", xmlNameSpaceManager) != null)
{
var Url = xmlNode[i].Attributes["url"].Value;
feedItem.Image = Url;
}
我想使用 Koush 的 UrlImageViewHelper 在列表视图中加载该图像,这是我的 FeedItemListAdapter class:
中的部分代码
var imageView = view.FindViewById<ImageView> (Resource.Id.ListviewImage);
Koush.UrlImageViewHelper.SetUrlDrawable (imageView, feedItem.Image);
我没有收到任何错误,但列表视图中没有显示图像。
您可能应该去阅读有关 some basic XPath syntax 的内容,因为您的表达式没有多大意义 - 它正在搜索名称为 url
且在由前缀 example
标识的名称空间管理器。听起来对吗?
假设你的元素是根元素并且它没有命名空间(这与你是否只给了我们一个片段无关),那么表达式应该是 enclosure/@url
.
完成后,您需要保留对搜索该属性的结果的引用。目前,您只是将其丢弃,然后尝试在列表中的任意节点上获取 url
属性。
所以,类似于:
var url = xmlNode[i].SelectSingleNode("enclosure/@url", xmlNameSpaceManager);
feedItem.Image = url.Value;
总而言之,LINQ to XML 比旧的 XmlDocument
API 好得多 API,LINQ to XML 好得多用于查询 XML 而不是 XPath。如果可以的话,我会调查一下。
我正在尝试提取 url 的值,它基本上是附件标签中图像的 url,如下所示:
<enclosure url="http://s3-us-west-1.amazonaws.com/s3cazinnet/2016/06/OZRK_KRAJINA_2016_5525.JPG?mtime=1465158486" length="" type="image/jpeg">
我不想用整个 class 来打扰您,所以我 post 只是部分代码。这是我试图获取 url:
值的代码部分if (xmlNode[i].SelectSingleNode("enclosure:url", xmlNameSpaceManager) != null)
{
var Url = xmlNode[i].Attributes["url"].Value;
feedItem.Image = Url;
}
我想使用 Koush 的 UrlImageViewHelper 在列表视图中加载该图像,这是我的 FeedItemListAdapter class:
中的部分代码var imageView = view.FindViewById<ImageView> (Resource.Id.ListviewImage);
Koush.UrlImageViewHelper.SetUrlDrawable (imageView, feedItem.Image);
我没有收到任何错误,但列表视图中没有显示图像。
您可能应该去阅读有关 some basic XPath syntax 的内容,因为您的表达式没有多大意义 - 它正在搜索名称为 url
且在由前缀 example
标识的名称空间管理器。听起来对吗?
假设你的元素是根元素并且它没有命名空间(这与你是否只给了我们一个片段无关),那么表达式应该是 enclosure/@url
.
完成后,您需要保留对搜索该属性的结果的引用。目前,您只是将其丢弃,然后尝试在列表中的任意节点上获取 url
属性。
所以,类似于:
var url = xmlNode[i].SelectSingleNode("enclosure/@url", xmlNameSpaceManager);
feedItem.Image = url.Value;
总而言之,LINQ to XML 比旧的 XmlDocument
API 好得多 API,LINQ to XML 好得多用于查询 XML 而不是 XPath。如果可以的话,我会调查一下。