当前位置: 首页 > 编程语言 > C#

SelectSingleNode为什么返回null?分享

时间:2023-04-10 16:37:07 C#

为什么SelectSingleNode返回null?我正在处理一个XML文档,该文档包含与此类似的结构:。..我以这种方式将文件从文件加载到XML文档中:XmlDocumentxdoc=newXmlDocument();xdoc.Load("somefile.xml");//成功加载btw但是,当我尝试运行下一行代码时,我遇到了只有这个特定文档的问题:xdoc.SelectSingleNode("//event[@id='1']");//这会返回一个null我是否在正确的轨道上猜测这是由于使用名为“id”的属性的问题而返回null还是我在我的代码中遗漏了什么?我无法使用XML文件和代码复制它XmlDocumentdoc=newXmlDocument();doc.Load(@"C:test.xml");XmlNodenode=doc.SelectSingleNode("//事件[@id='1']");这将按预期返回一个非空节点。更新将xmlns="example.org"添加到元素后,我必须为XPath配置命名空间管理器并将命名空间用于事件。由于某种原因无法使默认命名空间工作。XmlDocumentdoc=newXmlDocument();doc.Load(@"D:test.xml");XmlNamespaceManagermanager=newXmlNamespaceManager(doc.NameTable);manager.AddNamespace("e","http://example.org");XmlNodenode=doc.SelectSingleNode("//e:event[@id='1']",manager);当试图让它工作时,有一件事让我感到困惑。为什么XmlNamespaceManager需要文档中的XmlNameTable,如果不是为了找出它包含的名称空间?在中,为什么需要定义NameTable和Namespace?如果有人知道发表简短评论的方法,我将不胜感激。以上是C#学习教程:SelectSingleNode为什么返回null?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: