gpt4 book ai didi

.net - Xpath 和 XmlNameSpace

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

我有以下 XML

<?xml version="1.0"?>
<FileHeader
xmlns="urn:schemas-ncr-com:ECPIX:CXF:FileStructure:020001"
VersionNumber="020001"
TestFileIndicator="P"
CreationDate="13012009"
CreationTime="172852"
FileID="0000000001"
>
<Item
ItemSeqNo="09011340010009"
PayorBankRoutNo="00704524"
Amount="398000"
AccountNo="000003850010205"
SerialNo="000512"
TransCode="03"
PresentingBankRoutNo="00400019"
PresentmentDate="13012009"
CycleNo="01"
NumOfImageViews="2"
ClearingType="01"
DocType="D"
CurrencyInd="LYD"
IQAIgnoreInd="0"
CashValueInd="1"
TruncatingRTNo="00405117"
SpecialHandling="00"
RepresentmentCnt="0"
MICRRepairFlags="000000"
>
<AddendA
BOFDRoutNo="00400019"
BOFDBusDate="13012009"
DepositorAcct="0000534983"
/>
<ImageViewDetail ...

我需要使用 XmlDocument .NET 类的 Select(xpath_expression) 方法访问元素“ImageViewDetail”。

以下代码无效

xmlDocument.Select("//Item/AddendA/ImageViewDetail");

除非我删除

xmlns="urn:schemas-ncr-com:ECPIX:CXF:FileStructure:020001"

来自“FileHeader”标签

在这里处理命名空间的正确方法是什么?

谢谢,

最佳答案

使用 XmlNamespaceManager 和 xpath 中的别名:

    XmlNamespaceManager mgr = new XmlNamespaceManager(doc.NameTable);
mgr.AddNamespace("x", doc.DocumentElement.NamespaceURI);
foreach (XmlNode node in doc.SelectNodes(
"//x:Item/x:AddendA/x:ImageViewDetail", mgr))
{
Console.WriteLine(node.OuterXml);
}

关于.net - Xpath 和 XmlNameSpace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/857850/

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