2

我正在 VB.Net 中开发一个应用程序。我是初学者,我正在努力解决这个问题:

我想将子元素的名称读入我的 xml 文件并进行比较。如果这个值匹配,我将用这个元素的值填充一个文本框。请在我的程序的这一部分下面找到(经过改进编辑):

Private Sub ReadXMLFile(path As String)
Dim reader As XmlTextReader = New XmlTextReader(path)
Dim elements As ArrayList = New ArrayList

Do While (reader.Read())
    Select Case reader.Name
        Case "DistributorName"
            Do While (reader.Read())
                If XmlNodeType.Text Then
                    txtDistrName.Text = reader.Value
                End If
            Loop
    End Select
End Sub

仅当元素名称为“DistributorName”时,我才必须使用元素的值填充文本框 txtDistrName。

感谢 Sam Rad 的帮助,现在它工作正常。

何塞。

4

1 回答 1

2

你需要改变你的Case陈述。我认为您将其误认为是If

Private Sub ReadXMLFile(path As String)
    Dim reader As XmlTextReader = New XmlTextReader(path)

    Do While (reader.Read())
        Select Case reader.Name
            Case "DistributorName" // <------ Here
                txtDistrName.Text = reader.Value
        End Select
    Loop
end sub

对于您的第二个问题,我已将循环更改为:

    Dim reader As XmlTextReader = New XmlTextReader("yourXmlPath")
    reader.WhitespaceHandling = WhitespaceHandling.None

    Do While (reader.Read())
        Select Case reader.NodeType
            Case XmlNodeType.Element
                If reader.Name = "DistributorName" Then
                    txtDistrName.Text = reader.ReadElementContentAsString()
                End If                          
        End Select
    Loop
于 2013-04-04T09:47:23.563 回答