好的,这让我疯了,我有一个XML文件,它代表一个调用详细记录,它有一个布局,并注意它使用一个命名空间
<File>
<FileHeader>
</FileHeader>
<CDRs>
<Call>
</Call>
<Call>
</Call>
</Cdrs>
<FileFooter>
</FileFooter>
</File>
我加载文件没有问题,但是当我尝试
时 Dim thisNode As XmlNode = xmldoc.SelectSingleNode("meta:File/FileHeader", nsmgr)
我总是一无所获。但如果我使用
xmlnodes2 = xmldoc.GetElementsByTagName("FileHeader")
我可以像这样访问我的节点
xmlHeader = xmlnodes2(0)
Dim seqnum As String = ""
Dim EquipmentType As String = xmlHeader.SelectSingleNode("meta:EquipmentType", nsmgr).InnerText
Dim EquipmentId As String = xmlHeader.SelectSingleNode("meta:EquipmentId", nsmgr).InnerText
Dim CreateTime As String = xmlHeader.SelectSingleNode("meta:CreateTime", nsmgr).InnerText
Debug.WriteLine("---------------------Debug File Header----------------------")
Debug.WriteLine(seqnum & " - " & EquipmentType & " - " & EquipmentId & " - " & CreateTime)
Debug.WriteLine(xmlHeader.OuterXml)
以下是我的xml文件的开头是什么样的,所以我想知道我在这里缺少什么?
`<?xml version="1.0" encoding="UTF-8"?>
<File xmlns="http://www.metaswitch.com/cfs/billing/V1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" compatibility="2">
<FileHeader seqnum="23997">
<EquipmentType>Metaswitch CFS</EquipmentType>
<EquipmentId></EquipmentId>
<CreateTime>1491092100003</CreateTime>
</FileHeader>
<CDRs>.....`
答案 0 :(得分:0)
我想问题是我不明白我需要在每个级别指定名称空间前缀,以便我必须使用
Dim thisNode As XmlNode = xmldoc.SelectSingleNode("meta:File/meta:FileHeader", nsmgr)