- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在检索 YouTube 数据馈送的 C# Windows Phone 8 应用程序中提取所需元素时遇到问题。 XML 文档如下所示。它来自 YouTube 播放列表提要:
<entry gd:etag="W/"YDwqeyM."" xmlns:gd="http://schemas.google.com/g/2005" xmlns="http://www.w3.org/2005/Atom">
<media:group xmlns:media="http://search.yahoo.com/mrss/">
<media:category label="Science & Technology" scheme="http://gdata.youtube.com/schemas/2007/categories.cat">Tech</media:category>
<media:content url="https://www.youtube.com/v/vt7PLhQKYlU?version=3&f=playlists&app=youtube_gdata" type="application/x-shockwave-flash" medium="video" isDefault="true" expression="full" duration="1668" yt:format="5" xmlns:yt="http://gdata.youtube.com/schemas/2007" />
<media:content url="rtsp://r5---sn-p5qlsu7d.c.youtube.com/CiULENy73wIaHAlVYgoULs_evhMYDSANFEgGUglwbGF5bGlzdHMM/0/0/0/video.3gp" type="video/3gpp" medium="video" expression="full" duration="1668" yt:format="1" xmlns:yt="http://gdata.youtube.com/schemas/2007" />
<media:content url="rtsp://r5---sn-p5qlsu7d.c.youtube.com/CiULENy73wIaHAlVYgoULs_evhMYESARFEgGUglwbGF5bGlzdHMM/0/0/0/video.3gp" type="video/3gpp" medium="video" expression="full" duration="1668" yt:format="6" xmlns:yt="http://gdata.youtube.com/schemas/2007" />
<media:credit role="uploader" scheme="urn:youtube" yt:display="TheDigitalDigest" yt:type="partner" xmlns:yt="http://gdata.youtube.com/schemas/2007">thedigitaldigest</media:credit>
<media:description type="plain">Surface 2</media:description>
<yt:videoid xmlns:yt="http://gdata.youtube.com/schemas/2007">vt7PLhQKYlU</yt:videoid>
</media:group>
</entry>
public YouTubeVideo(XNamespace atomns, XElement entry, XNamespace medians)
{
var id = entry.Element(atomns.GetName("id")) != null && entry.Element(atomns.GetName("id")).Value != null
? entry.Element(atomns.GetName("id")).Value.Split(':').Last()
: string.Empty;
VideoUrl = "http://gdata.youtube.com/feeds/api/videos/" + id;
}
string videoid = (from child in entry.Descendants()
where child.Name.LocalName == "videoid"
select child.Value).FirstOrDefault();
// Get the namespaces for the "media" group, since it contains the "yt" group,
// and for the "yt" group itself.
XNamespace xnsMediaGroup = entry.GetNamespaceOfPrefix("media");
XNamespace xnsYouTube = entry.GetNamespaceOfPrefix("yt");
// Got valid namespace references?
if ((xnsMediaGroup != null) && (xnsYouTube != null))
{
// Yes. Select the media group element.
XElement xelemMediaGroup = entry.Element(xnsMediaGroup.GetName("group"));
if (xelemMediaGroup != null)
{
// Select the YouTube videoid element.
XElement xelemYTVideoId = xelemMediaGroup.Element(xnsYouTube.GetName("videoid"));
if (xelemYTVideoId != null)
// Return the video's ID.
videoid = xelemYTVideoId.Value;
}
}
最佳答案
我认为你应该阅读 Scott Hanselman 的文章:Get namespaces from an XML Document with XPathDocument and LINQ to XML
关于c# - 如何使用 C# (XNamespace/XElement) 导航 XML 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20205970/
XNamespace 对象可以如下创建: XNamespace ns="http://www.xyz.com"; 此处字符串“http://www.xyz.com”被解释为该类的属性值(Namespa
C# 示例: XNamespace aw = "http://www.adventure-works.com"; F#我怎么写? 我试试看: let ns : XNamespace = "URI AD
我正在尝试使用 System.Xml.Linq 创建 XHTML 文档。因此,我的树中的绝大多数节点都应该使用这个命名空间: http://www.w3.org/1999/xhtml 我可以使用 XN
我想创建一个看起来像这样的 Xml 文件: 如何使用动态添加命名空间的 XAttribute、XElement、XNamespace 和 XDocument 来完成此操作。 最佳答案 我假设“动态添加
我的代码过去只需要处理一个命名空间,所以这很好用: Imports Dim doc As XDocument = XDocument.Load("my.xml") Dim IDElemCollect
我在检索 YouTube 数据馈送的 C# Windows Phone 8 应用程序中提取所需元素时遇到问题。 XML 文档如下所示。它来自 YouTube 播放列表提要: Tech
我有以下用于测试网络服务的简单代码: using System; using System.Linq; using System.Xml; using System.Xml.Linq; using S
我是一名优秀的程序员,十分优秀!