ala*_*ala 4 .net xml xpath namespaces
我有以下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 ...
Run Code Online (Sandbox Code Playgroud)
我需要使用XmlDocument .NET类的Select(xpath_expression)方法来访问元素"ImageViewDetail".
以下代码无效
xmlDocument.Select("//Item/AddendA/ImageViewDetail");
Run Code Online (Sandbox Code Playgroud)
除非我删除
xmlns="urn:schemas-ncr-com:ECPIX:CXF:FileStructure:020001"
Run Code Online (Sandbox Code Playgroud)
来自"FileHeader"标签
在这里处理命名空间的正确方法是什么?
谢谢,
使用XmlNamespaceManagerxpath中的a 和别名:
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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
270 次 |
| 最近记录: |