我有特定的值传递给一个方法(它也接受一个 xmldocument 作为参数),并且该方法需要验证该值(具有节点路径)是否实际上是 xml 文档所代表的 xml 文件的一部分。
因此,例如,如果方法是这样的
public bool HasValidNodePath(string nodePath, XmlDocument xdoc)
{
XMlNode xnode = xDoc.SelectSingleNode(nodePath);
return xnode == null? false: true;
}
现在的问题是 nodePath 具有以下值(以 efile 作为命名空间)
efile:ReturnState/efile:ReturnDataState/efile:processBO/composition/forms/IT204CP
而代表xml文件的xmlDocument没有这个名字空间efile。
所以它总是返回假,但如果我只是通过
ReturnState/ReturnDataState/processBO/composition/forms/IT204CP
它返回真。
那么,在 xmlHelper 或 XmlDocumentQuery 类中是否有任何方法可以忽略上面路径中的命名空间并只考虑
ReturnState/ReturnDataState/processBO/composition/forms/IT204CP
并寻找这个节点路径(如上所示,没有 efile)并验证它?
我正在寻找一种通用方法来替换命名空间,因为传递给该方法的 nodePath 可以在其中包含任何命名空间。