gpt4 book ai didi

c# - 解析 XML : Colon in my element causes XPath to miss it

转载 作者:数据小太阳 更新时间:2023-10-29 01:50:21 25 4
gpt4 key购买 nike

我加载了一个 XML 文档并尝试使用 XPath 进行搜索。此文件中的根节点是 <t:Transmission xmlns:t='urn:InboundShipment'>文件末尾用 </t:Transmission> 正确关闭.

我的问题是我不能在不使用后代轴的情况下遍历树。换句话说,我可以做到:SelectSingleNode("//TransactionHeader[SHIPPERSTATE='CA']")并获得一个节点作为返回。但我不能做应该等效的事情:SelectSingleNode("/Transmission/TransmissionBody/Transaction/TransactionHeader[SHIPPERSTATE='CA']")

如果我删除 t:我可以在 /Transmission 上进行 XPath 搜索并获取整个文件。随着t:在那里我只是空。或者如果我尝试 SelectSingleNode("t:Transmission")我的 XPath 语句出错。

我通常不需要查询根元素,所以我应该可以只使用后代轴进行搜索。但是 XML 看起来对我有效,所以我想知道如何解决这个问题。另外,我不想让客户删除“t:”只是因为我不知道如何处理它。

最佳答案

“t:”是命名空间前缀,绑定(bind)到命名空间“urn:InboundShipment”。为了正确处理它,您必须告诉 c# 前缀绑定(bind)到什么。 This page应该解释如何使用 System.Xml.XmlNamespaceManager 来处理命名空间。

编辑:参见 this answer ,还有。

关于c# - 解析 XML : Colon in my element causes XPath to miss it,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1579324/

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