How to Read XML & Bevolk de tekstvakken

Leren hoe je een XML-bestand aan tekstvakken bevolken in uw Visual Basic.NET, die vaak wordt afgekort als VB.NET lezen, kan de toepassing van uw aanvraag robuuster door het niet hebben van de gebruiker de gegevens handmatig in te voeren te maken. XML is een toepassing format voor vele verschillende toepassingen en kan worden gelezen met de "XmlTextReader." De lezer biedt forward-only, alleen-lezen toegang tot een stroom van XML-gegevens. U kunt de XML-gegevens toe te wijzen direct te controleren, of u kunt het verzamelen in een array voor later gebruik.

instructies

1 Lancering Microsoft Visual Studio. Klik op "Nieuw project" van het linkerpaneel van uw computerscherm, en uit te breiden "Visual Basic" onder "Geïnstalleerde sjablonen." Klik op "Windows" en dubbelklik op "Windows Forms Application" van het centrum van het dialoogvenster om een ​​nieuw project te maken.

2 Klik op het menu "Project" en selecteer "Nieuw item." Dubbelklik op "XML File" om een ​​nieuwe XML-bestand aan uw project in te voegen. Plaats een nieuwe "XML Schema" bestand, met behulp van dezelfde techniek.

3 Kopieer en plak de volgende code in het bestand "XMLSchema1.xsd" om uw XML-schema te maken:

<Xs: schema id = "XMLSchema1"

targetNamespace="http://tempuri.org/XMLSchema1.xsd"

elementFormDefault = "gekeurd"

xmlns = "http://tempuri.org/XMLSchema1.xsd"

xmlns: mstns = "http://tempuri.org/XMLSchema1.xsd"

xmlns: xs = "http://www.w3.org/2001/XMLSchema"

<Xs: simpleType name = "postalCode">

&lt;xs:restriction base="xs:positiveInteger">

& Lt; xs: patroon value = "\ d {5}" />

& Lt; / xs: beperking>

</ Xs: simpleType>

<Xs: complexType name = "usAddress">

&lt;xs:sequence>

& Lt; xs: element name = "Name" type = "xs: string" />

& Lt; xs: element name = "Street" type = "xs: string" />

& Lt; xs: element name = "City" type = "xs: string" />

& Lt; xs: element name = "Staat" type = "xs: string" />

& Lt; xs: element name = "Zip" type = "postalCode" />

& Lt; / xs: opeenvolging>

</ Xs: complexType>

<Xs: element name = "Klant">

&lt;xs:complexType>

& Lt; xs: opeenvolging>

& Lt; xs: element name = "CompanyName" type = "xs: string" />

& Lt; xs: element name = "ContactName" type = "xs: string" />

& Lt; xs: element name = "E-mail" type = "xs: string" />

& Lt; xs: element name = "Phone" type = "xs: string" />

& Lt; xs: element name = "ShipToAddress" type = "usAddress" />

& Lt; / xs: opeenvolging>

& Lt; / xs: complexType>

</ Xs: element>

</ Xs: schema>

4 Klik op het tabblad "Solution Explorer" onder "Solution Explorer" en dubbelklik op "XMLFile1.xml" om het te openen. Kopieer en plak de volgende code om het schema gemaakt in stap 3 te gebruiken en een aantal gegevens aan toe te voegen:

<Customer xmlns = "http://tempuri.org/XMLSchema1.xsd">

<CompanyName> NSN </ CompanyName>

<ContactName> John </ ContactName>

<E-mail> [email protected] </ e-mail>

<Phone> 3245345 </ Telefoon>

<ShipToAddress>

&lt;Name>John&lt;/Name>

& Lt; Straat> Yampa & lt; / Straat>

& Lt; City> Keller & lt; / City>

& Lt; State> TX & lt; / State>

& Lt; Zip> 76180 & lt; / Zip>

</ ShipToAddress>

</ Customer>

5 Dubbelklik op "Form1" om uw vorm te geven. Dubbelklik op "TextBox" van de "Toolbox" venster om een ​​nieuw tekstvak toe te voegen. Voeg acht tekstvak controles om uw formulier. Voeg een "Button" controle om uw formulier. Dubbelklik op "Button1" naar een nieuwe click-event voor deze knop te maken.

6 Voeg de volgende regel code in de top van je code module naar de "System.Xml" namespace gebruiken:

invoer System.Xml

7 Kopieer en plak de volgende code in de gebeurtenis click om het XML-bestand aangemaakt te lezen en de inhoud op te slaan naar een 2-D array:

Dim lezer Zoals XmlTextReader = Nieuwe XmlTextReader ( "C: \ Temp \ XMLFile1.xml")

Dim xmlDataArray(30, 1) As String

Dim xCntr As Integer

Do While (reader.Read ())

Selecteer Case reader.NodeType

Case XmlNodeType.Element

Als (reader.Name & lt;> "Klant") en (reader.Name & lt;> "ShipToAddress") Then

xmlDataArray (xCntr, 0) = reader.Name

Stop als

Case XmlNodeType.Text

xmlDataArray (xCntr, 1) = reader.Value

xCntr + = 1

end Select

Lus

8 Bewerk het XML-bestand pad in stap 7, en typ het pad naar uw XML-bestand.

9 Lus door de array en de gegevens naar de tekstvakken toe te voegen door de volgende code:

Voor xCntr = 0 tot 10

If (xmlDataArray(xCntr, 0) = "CompanyName") Then

Me.TextBox1.Text = xmlDataArray (xCntr, 1)

Stop als

Als (xmlDataArray (xCntr, 0) = "ContactName") Then

Me.TextBox2.Text = xmlDataArray (xCntr, 1)

Stop als

Als (xmlDataArray (xCntr, 0) = "E-mail") Then

Me.TextBox3.Text = xmlDataArray (xCntr, 1)

Stop als

Als (xmlDataArray (xCntr, 0) = "Phone") Then

Me.TextBox4.Text = xmlDataArray (xCntr, 1)

Stop als

Als (xmlDataArray (xCntr, 0) = "Naam") Then

Me.TextBox5.Text = xmlDataArray (xCntr, 1)

Stop als

Als (xmlDataArray (xCntr, 0) = "Street") Then

Me.TextBox6.Text = xmlDataArray (xCntr, 1)

Stop als

Als (xmlDataArray (xCntr, 0) = "City") Then

Me.TextBox7.Text = xmlDataArray (xCntr, 1)

Stop als

Als (xmlDataArray (xCntr, 0) = "State") Then

Me.TextBox8.Text = xmlDataArray (xCntr, 1)

Stop als

Als (xmlDataArray (xCntr, 0) = "Zip") Then

Me.TextBox9.Text = xmlDataArray (xCntr, 1)

Stop als

volgende

10 Druk op "F5" om het programma uit te voeren. Klik op "Button1" om de tekstvakken bevolken.