C# 从具有属性的XML元素中提取文本
我有这样一个xml文件:C# 从具有属性的XML元素中提取文本,c#,xml,C#,Xml,我有这样一个xml文件: <root> <image size = "small">www.linktosmallimage.jpg</image> <image size = "large">www.linktolargeimage.jpg</image> </root> 问题是:如何获得第二个链接?(大图像的链接,因为它是我唯一需要的) 提前感谢。x.选择SingleNode(“图像[2]”) 奇怪的是,XPath数组
<root>
<image size = "small">www.linktosmallimage.jpg</image>
<image size = "large">www.linktolargeimage.jpg</image>
</root>
问题是:如何获得第二个链接?(大图像的链接,因为它是我唯一需要的)
提前感谢。x.选择SingleNode(“图像[2]”)
奇怪的是,XPath数组从[0]开始
这里有很多关于XPath的信息:
顺便说一句,您应该研究一下——语法更庞大,但更健壮
string s;
foreach(XmlElement x in xmlSource.SelectNodes("/root/image"))
{
s = x.InnerText;
}
如果你总是想要最后一个。或者你可以:
XmlNode y = xmlSource.SelectSingleNode("/root/image[@size=\"large\"]");
string s = y.InnerText;
在这种情况下,元素的顺序无关紧要,假设只有一个这样的元素,您将始终获得属性size=large的元素。如果假设成立,这是更好的方法。如果您不信任订单,并且希望使用size属性,请执行以下操作:
x.SelectSingleNode("image[@size='large']")
x.SelectSingleNode("image[@size='large']")