- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有以下示例 XML 文件:
<Top xmlns="abbr:SomeNSValue">
<Next>
<Other>SomeValue</Other>
</Next>
</Top>
我加载它并尝试像这样阅读它:
FileStream stream = new FileStream(@".\TestXML.xml", FileMode.Open);
XPathDocument xPathDocument = new XPathDocument(stream);
XPathNavigator navigator = xPathDocument.CreateNavigator();
XmlNamespaceManager ns = null;
if (navigator.NameTable != null)
{
ns = new XmlNamespaceManager(navigator.NameTable);
ns.AddNamespace("abbr", "SomeNSValue");
}
XPathNodeIterator iterator = navigator.Select("/Top/Next", ns);
iterator.MoveNext();
Console.WriteLine(iterator.Current.InnerXml);
这将输出如上所示的完整 XML。不是我要找的(我要选择“Next”节点的内容。
但是如果我从 XML 中取出 xmlns="abbr:SomeNSValue
然后再试一次,我就会得到我要找的东西:
<Other>SomeValue</Other>
在我的真实场景中,我收到了 XML,我宁愿不必修改它来取消命名空间。
有没有一种方法可以使它与其中的命名空间一起工作?
注意:如果重要的话,这是我的 XML 文件中的实际命名空间:xmlns="urn:hl7-org:v2xml"
最佳答案
你的命名空间声明是错误的:
<Top xmlns:abbr="SomeNSValue">
<Next>
<Other>SomeValue</Other>
</Next>
</Top>
当你做这个神奇的改变时,你的代码的其余部分就可以工作了:)..
关于c# - 如何读取具有命名空间的 XPathDocument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8363975/
我有这样的代码: // Take the xml message and turn it into an object var bytes = Encoding.ASCII.GetBytes(mess
我有以下示例 XML 文件: SomeValue 我加载它并尝试像这样阅读它: FileStream stream = new FileStream(@".\TestXML.x
当调用 XPathDocument(Stream) 构造函数时,流会自动关闭。如何保持流打开? 最佳答案 Stream、String 和 TextReader 重载使用内部 System.Xml.Xm
我正在尝试使用 XslCompiledTransform,并将输出用作 XPathDocument。 有什么想法吗? 最佳答案 先生。琼斯的回答对我很有帮助,但我发现最后一行不起作用。我最终这样做了:
我有一个 XPathDocument 并想将其导出为一个字符串,该字符串包含作为 XML 表示形式的文档。最简单的方法是什么? 最佳答案 您可以执行以下操作来获取 XML 文档的字符串表示形式: XP
我正在 ASP.NET 中开发一个博客引擎,其中一个存储库被实现为使用 XML 文件作为数据存储。 XML 存储库将主要用于本地使用和测试目的。现在,虽然这可能不是当今具有大量可用内存和处理能力的计算
我不可能是第一个这样做的人,使用 XSLT 合并两个文档似乎是一种常见的做法。但是,我似乎无法在 ol' interweb 上找到一个示例。 我有两个 XML 文档,它们作为 XML 字符串从 SQL
我正在尝试使用 XPathDocument 解析 html 页面,但出现错误,因为 html 不是 xml...有没有办法做到这一点? 最佳答案 应该使用 HtmlAgilityPack .还是最好的
我正在使用一个网络服务,它向我的 C# 程序返回一个 XmlElement 对象。我想使用 Xpath 从 XmlElement 读取信息。从 XmlElement 创建 XPathDocument
如果我这样做 XPathDocument doc = new XPathDocument("filename.xml"); 是否将整个文档加载到内存中?我正在编写一个手机应用程序,该文档可能会存储大量
我看到了这个问题: XPathDocument vs. XmlDocument 但它没有我正在寻找的信息:我的问题: 我知道 XPathDocument 将完整 xml 加载到内存中: 我的问题来自
我有一个简单的 xml 文档,我想获取某个节点的计数。我怎样才能做到这一点?现在我正在使用以下语法来获取节点。 // send request and strore in xpath doc (r
我是新手,正在学习教程。我对以下代码有一个变体: Dim xDoc As XPathDocument Dim xNav As XPathNavigator xDoc = New XPathDocume
在 XmlReader 中使用基于 XML 的数据源之前,是否有任何简单/通用的方法来清理它,以便我可以优雅地使用不符合 XML 十六进制字符限制的 XML 数据? 注意: 解决方案需要处理 XML使
我是一名优秀的程序员,十分优秀!