0

我有特定的值传递给一个方法(它也接受一个 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 可以在其中包含任何命名空间。

4

0 回答 0