【发布时间】:2009-05-13 13:09:31
【问题描述】:
我有以下 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"
来自“文件头”标签
这里处理命名空间的正确方法是什么?
谢谢,
【问题讨论】:
-
我为您格式化了您的 XML,因此没有水平滚动。我多么讨厌水平滚动。
-
@Welbog - 老实说,我更喜欢原版;现在我有垂直滚动了;-p 但是任何一个都足够了......
-
@ala - 顺便说一句,ImageViewDetail 看起来不在 AddendA 内,所以 /AddendA/ImageViewDetail 无论如何都不会工作......
-
@Gravell,你说得对。我的错误。正确的 xpath 是 //x:Item/x:ImageViewDetail。谢谢大家
标签: .net xml xpath namespaces