-->

如何读取XML文件(How to read an XML File)

2019-08-21 11:20发布

我有一个VB.net程序。 我试图使用的XMLReader读取.xml文件。 我想打破XML文件到它组织成不同的“节”在此示例"FormTitle""ButtonTitle" 。 我想抢夺<Text>从数据FormTitle并显示它作为窗体"text" ,并采取<Text>"ButtonTitle" ,并将它在按钮上的文字显示。

这里是我的XML文件:

<?xml version="1.0" encoding="utf-8"?>
<!--XML Database.-->
<FormTitle>
    <Text>Form Test</Text>
</FormTitle>
<ButtonTitle>
    <Text>Button Test</Text>
</ButtonTitle>

这里是我当前的代码:

If (IO.File.Exists("C:\testing.xml")) Then

    Dim document As XmlReader = New XmlTextReader("C:\testing.xml")

    While (document.Read())

        Dim type = document.NodeType


        If (type = XmlNodeType.Element) Then

            '
            If (document.Name = "Text") Then
                Me.Text = document.ReadInnerXml.ToString()


            End If



        End If


    End While

Else

    MessageBox.Show("The filename you selected was not found.")
End If

在下一节中如何才能把(ButtonTitle)与在相同的名称FormTitle这是(Text) 。 我假设我需要引用FormTitleButtonTitle ,如果再声明的?

Answer 1:

看看这个例子。 http://msdn.microsoft.com/en-us/library/dc0c9ekk.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-2

你应该可以使用:

doc.GetElementsByTagName("FormTitle")

然后,您可以通过所有的子节点的循环。 http://msdn.microsoft.com/en-us/library/system.xml.xmlnode.childnodes.aspx

    Dim root As XmlNode = doc.GetElementsByTagName("FormTitle").Item(1)

    'Display the contents of the child nodes. 
    If root.HasChildNodes Then 
        Dim i As Integer 
        For i = 0 To root.ChildNodes.Count - 1
            Console.WriteLine(root.ChildNodes(i).InnerText)
        Next i
    End If 


Answer 2:

使用的XDocument是用于读取Xml和还更易读由于较少的语法更有效。

您需要将根添加到您的XML。 我把它叫做根,但它可以是任何东西。 它只是encapsultes所有的XML

<?xml version="1.0" encoding="utf-8"?>
<root>
<FormTitle>
    <Text>Form Test</Text>
</FormTitle>
<ButtonTitle>
    <Text>Button Test</Text>
</ButtonTitle>
</root>

下面是从FormTitle拉动“型测试”的例子

    Dim document As XDocument = XDocument.Load("c:\tmp\test.xml")
    Dim title = From t In document.Descendants("FormTitle") Select t.Value

将文本分配到形成

Form1.Text = title.First()


文章来源: How to read an XML File