我有一个特殊的值传递给一个方法(也将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可以包含任何命名空间。