Vorgehensweise: Analysieren einer Zeichenfolge
In diesem Thema wird erläutert, wie Sie in C# und in Visual Basic eine Zeichenfolge analysieren können, um eine XML-Struktur zu erstellen.
Beispiel
Der folgende C#-Code zeigt das Analysieren einer Zeichenfolge.
XElement contacts = XElement.Parse(
@"<Contacts>
<Contact>
<Name>Patrick Hines</Name>
<Phone Type=""home"">206-555-0144</Phone>
<Phone type=""work"">425-555-0145</Phone>
<Address>
<Street1>123 Main St</Street1>
<City>Mercer Island</City>
<State>WA</State>
<Postal>68042</Postal>
</Address>
<NetWorth>10</NetWorth>
</Contact>
<Contact>
<Name>Gretchen Rivas</Name>
<Phone Type=""mobile"">206-555-0163</Phone>
<Address>
<Street1>123 Main St</Street1>
<City>Mercer Island</City>
<State>WA</State>
<Postal>68042</Postal>
</Address>
<NetWorth>11</NetWorth>
</Contact>
</Contacts>");
Console.WriteLine(contacts);
In Visual Basic können Sie Zeichenfolgen auf eine ganz ähnliche Art und Weise analysieren.Es ist aber dennoch effizienter, XML-Literale zu verwenden (siehe folgender Code), da XML-Literale nicht dieselben Leistungseinbußen zur Folge haben wie dies beim Analysieren von XML aus einer Zeichenfolge der Fall ist.
Bei der Verwendung von XML-Literalen können Sie Ihr XML durch einfaches Kopieren und Einfügen in Ihr Visual Basic-Programm einfügen.
Hinweis |
---|
Das Analysieren von Text oder das Laden eines XML-Dokuments aus einer Textdatei ist weniger effizient als die funktionale Konstruktion.Wenn Sie eine XML-Struktur aus Code initialisieren, verbraucht die funktionale Konstruktion weniger Verarbeitungszeit als das Analysieren des Textes. |
Dim contacts as XElement = _
<Contacts>
<Contact>
<Name>Patrick Hines</Name>
<Phone Type="home">206-555-0144</Phone>
<Phone Type="work">425-555-0145</Phone>
<Address>
<Street1>123 Main St</Street1>
<City>Mercer Island</City>
<State>WA</State>
<Postal>68042</Postal>
</Address>
<NetWorth>10</NetWorth>
</Contact>
<Contact>
<Name>Gretchen Rivas</Name>
<Phone Type="mobile">206-555-0163</Phone>
<Address>
<Street1>123 Main St</Street1>
<City>Mercer Island</City>
<State>WA</State>
<Postal>68042</Postal>
</Address>
<NetWorth>11</NetWorth>
</Contact>
</Contacts>