Xml XElement返回节点值
我有一个元素看起来像这样Xml XElement返回节点值,xml,linq,xpath,Xml,Linq,Xpath,我有一个元素看起来像这样 <VideoFiles> <VideoFileInfo> <VideoType>1000</VideoType> <FormatCode>1000</FormatCode> <Url>http://www.idontwantthisvalue.com</Url> </VideoFileInfo> <Video
<VideoFiles>
<VideoFileInfo>
<VideoType>1000</VideoType>
<FormatCode>1000</FormatCode>
<Url>http://www.idontwantthisvalue.com</Url>
</VideoFileInfo>
<VideoFileInfo>
<VideoType>WMVOriginal</VideoType>
<FormatCode>1004</FormatCode>
<Url>http://www.iwanthitsvalue.com</Url>
</VideoFile>
1000
1000
http://www.idontwantthisvalue.com
原始的
1004
http://www.iwanthitsvalue.com
我需要获取一个值,该值有一个值为1004的兄弟
有人能帮上忙吗?以下XSLT:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:value-of select="VideoFiles/VideoFileInfo[FormatCode='1004']/Url"/>
</xsl:template>
</xsl:stylesheet>
纯LINQ到XML解决方案:
XElement xdoc = XElement.Load("test.xml");
var myUrl = xdoc.Descendants("VideoFileInfo")
.Where(x => x.Element("FormatCode").Value == "1004")
.Select(x => x.Element("Url").Value)
.FirstOrDefault();
通常:
/VideoFiles/VideoFileInfo[FormatCode='1004']/Url
正是
我需要获取具有
值为1004的兄弟姐妹
或
/VideoFiles/VideoFileInfo[FormatCode='1004']/Url
/VideoFiles/VideoFileInfo/*[.='1004']/following-sibling::*[1]
//*[.='1004']/following-sibling::*[1]