gpt4 book ai didi

c# - 使用 XmlNamespaceManager 从 XmlNode 中选择

转载 作者:数据小太阳 更新时间:2023-10-29 02:31:02 26 4
gpt4 key购买 nike

多年来,我一直在寻找一种方法来从具有多个命名空间的 XmlNode(不是 XmlDocument)中选择节点。

几乎我搜索过的每篇帖子都建议我使用 XmlNamespaceManager,但是,XmlNamespaceManager 需要一个 XmlNameTable,它不存在一个 XmlNode

我尝试使用 XmlDocument 执行此操作并且它有效,因为 XmlDocument 具有属性 XmlDocument.NameTable 但它对于 XmlNode 不存在。

我尝试手动创建一个 NameTable,但它不起作用,因为当我使用 XmlDocument 时,同一段代码起作用。我想我需要用某些东西填充该 NameTable 或以某种方式将其绑定(bind)到 XmlNode 才能完成这项工作。请建议。

最佳答案

你会用吗

XPathNavigator nav = XmlNode.CreateNavigator();
XmlNamespaceManager man = new XmlNamespaceManager(nav.NameTable);

包括其余部分以防有帮助:

man.AddNamespace("app", "http://www.w3.org/2007/app"); //Gotta add each namespace
XPathNodeIterator nodeIter = nav.Select(xPathSearchString, man);

while (nodeIter.MoveNext())
{
var value = nodeIter.Current.Value;
}

http://msdn.microsoft.com/en-us/library/system.xml.xmlnode.createnavigator.aspx

关于c# - 使用 XmlNamespaceManager 从 XmlNode 中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15950492/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com