验证XML文件中的NodePath

时间:2015-06-22 21:40:50

标签: c# xml xmldocument xmlhelper

我有一个特殊的值传递给一个方法(也将xmldocument作为参数),并且该方法需要验证值(具有节点路径)是否实际上是xml文件的一部分xml文件代表。

因此,例如,如果方法是这样的

public bool HasValidNodePath(string nodePath, XmlDocument xdoc)
{
   XMlNode xnode = xDoc.SelectSingleNode(nodePath);

  return  xnode == null? false: true;
}

现在问题是nodePath具有以下值(使用efile作为命名空间)

电子文件:ReturnState /电子文件:ReturnDataState /电子文件:processBO /组合物/形式/ IT204CP

和表示xml文件的xmlDocument没有此名称空间efile。

所以它总是返回false,但如果我只是传递

ReturnState / ReturnDataState / processBO / composition / forms / IT204CP

它返回true。

那么,在xmlHelper或XmlDocumentQuery类中是否有任何方法可以忽略上面路径中的命名空间并且只考虑

ReturnState / ReturnDataState / processBO /组合物/形式/ IT204CP

并查找此nodepath(如上所示,不带efile)并验证它?

我正在寻找一种替换命名空间的通用方法,因为传递给该方法的nodePath可以包含任何命名空间。

0 个答案:

没有答案