我不确定为什么这不起作用。
我有一个已知格式的 XmlNode。这是:
<[setting-name]>
<dictionary>
<[block-of-xml-to-process]/>
<[block-of-xml-to-process]/>
<[block-of-xml-to-process]/>
</dictionary>
</[setting-name]>
我在一个名为pattern的变量中引用了该节点。我想要一个可迭代的节点集合,每个节点都由上面的 [block-of-xml-to-process] 表示。此时块的名称和结构尚不清楚。[设置名称] 是已知的。
这似乎很简单。我能想到六个应该指向块的 XPATH 表达式。我试过了:
XmlNodeList kvpsList = pattern.SelectNodes(String.Format(@"/{0}/dictionary/*", _CollectionName));
XmlNodeList kvpsList = pattern.SelectNodes(String.Format(@"{0}/dictionary/*", _CollectionName));
XmlNodeList kvpsList = pattern.SelectNodes(@"//dictionary/*");
XmlNodeList kvpsList = pattern.SelectNodes(@"//dictionary");
但是,我显然缺乏对 XPATH 或 .SelectNodes 的一些特殊技巧的一些基本了解,因为它们都不能始终如一地工作。
我究竟做错了什么?