【发布时间】:2014-06-25 12:28:31
【问题描述】:
我正在使用以下代码:
System.Xml.XmlDocument document = new System.Xml.XmlDocument();
document.Load(@"D:\Files\OCR\" + FileUpload1.FileName + ".xml");
if (document.HasChildNodes)
{
StringBuilder sb = new StringBuilder();
StringBuilder positions = new StringBuilder();
XmlElement root = document.DocumentElement;
XmlNodeList nodes = document.DocumentElement.SelectNodes("//char[@confidence]");
}
问题是 document.DocumentElement.SelectNodes("//char[@confidence]") 返回 null。
当我编写以下代码时,会显示结果。
int nodesCount = Document.DocumentElement.ChildNodes[0].ChildNodes.Count;
如何计算所有具有属性置信度的节点?
【问题讨论】:
-
SelectNodes总是返回一个XmlNodeList并且永远不会为空。 -
但在我的代码中它返回 null.count =0
-
如果 XmlNodeList 为空但结果是
XmlNodeList而不是 null,则 Count 当然可以为零。向我们展示您的 XML 文档,我们可以帮助您处理 XPath 表达式。或者尝试//*[@confidence],这样生成的XmlNodeList应该包含所有具有confidence属性的元素。 -
感谢 Martin Honnen,我得到了 //*[@confidence] 的结果。