我使用XMLDocument
编写了以下代码string Query = @"/ShortcutList/" + Modality;
XmlNodeList nodes = shortcutsXMLDocument.SelectNodes(Query);
if (nodes == null)
{
// if the modality not exists, I will load the Default one
Query = @"/ShortcutList/Default";
nodes = shortcutsXMLDocument.SelectNodes(Query);
}
for (int i = 0; i < nodes[0].ChildNodes.Count; i++)
{
// do something here
}
其中shortcutsXMLDocument
是XMLDocument
如何使用xDocument转换它,我在xdocument中找不到与SelectNodes等效的文件
任何想法,请
答案 0 :(得分:1)
代码很奇怪,因为SelectNodes总是返回一个XmlNodeList,所以检查if (nodes == null)
永远不会成立,你也可以删除它。
至于前两行,您可以用
List<XElement> nodes = shortcutsXMLDocument.Elements("ShortcutList").Elements(Modality).ToList();
假设Modality
变量只包含元素名称而不是完整的XPath表达式。
然后对于for
循环,您可以使用例如。
foreach (XNode node in nodes[0].Nodes()) {
// do something here with node
}
但我怀疑如果您通过发布XML样本以及要提取哪些数据的一些解释告诉我们您想要实现的目标,我们可以编写更清晰,更简单的代码。