1

現在、メソッドに渡すファイルパスから XML ノードを読み込もうとしています。

Public Function ReadXMLForIsite(xmlFileName As String)
    Dim IsitePath As String
    Dim doc As New XPathDocument(xmlFileName)
    Dim nav As XPathNavigator
    Dim iter As XPathNodeIterator

    nav = doc.CreateNavigator
    iter = nav.Select("GovTalkMessage/Header") 'Node name
    'Loop through the records in that node
    While iter.MoveNext
        Dim lstNav As XPathNavigator
        'Get the data we need from the node
        Dim iterNews As XPathNodeIterator
        lstNav = iter.Current
        iterNews = lstNav.SelectDescendants(XPathNodeType.Element, False)
        'Loop through the child nodes
        While iterNews.MoveNext
            Debug.WriteLine(iterNews.Current.Name & ": " & iterNews.Current.Value)
        End While
    End While

    Return IsitePath
End Function

このメソッドを実行するたびに (ノード名が異なっていても)、変数「iter」は「デバッガー表示プロキシはタイプであり、式として使用できない」ことを示します。これは while ステートメントの直前に発生するため、入りません。どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1

1

にロードXmlしてみてくださいXDocument

Dim xdoc As XDocument = XDocument.Load("X:\Jacob.Freeman\RTI\TestXML\0001R.xml")
Dim headerNode = xdoc.Descendants.First(Function(x) x.Name.LocalName = "Header")
For Each desc In headerNode.Descendants()
  Console.WriteLine(desc.Name.LocalName + ":" + desc.Value)
Next
Console.ReadLine()
于 2012-11-23T16:35:19.793 に答える