为什么在Windows通用应用程序中没有XmlNode.SelectSingleNode方法?

时间:2016-04-06 12:05:35

标签: c# xml xml-parsing visual-studio-2015 win-universal-app

我有一个Xml,我想通过他们的名字获得单个元素。我尝试使用SelectSingelNode方法。这就是MSDN告诉你的事情:

https://msdn.microsoft.com/en-us/library/system.xml.xmlnode.selectsinglenode%28v=vs.110%29.aspx

目前我正在使用XmlDocument和XmlNodeList来读取Xml。但这给了我整棵树。

string path = "xml_path.xml";
FileStream reader = new FileStream(path, FileMode.Open, FileAccess.Read);
XmlDocument xdoc = new XmlDocument();
xdoc.Load(reader);
XmlNodeList node = xdoc.GetElementsByName("name");

我在win-universal-app中找不到SelectSingeNode方法。我正在使用Visual Studio 2015.为什么他们删除了这个?是否有其他方法可以通过它的名称获得单个元素?

1 个答案:

答案 0 :(得分:1)

XmlNodeList是Enumerable但它没有实现Generic IEnumerable,所以你必须先使用Linq查询来解决你的问题

XmlNode node = xdoc.GetElementsByTagName("name").Cast<XmlNode>().First();
XmlNode node = xdoc.GetElementsByTagName("name").Cast<XmlNode>().FirstorDefault();
XmlNode node = xdoc.GetElementsByTagName("name").Cast<XmlNode>().Where(somecondition).FirstorDefault();