vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Linq To XSD 
Autor: CALChris
Datum: 10.09.08 10:30

Hi,

ich bin grade am verzweifeln..

Ich würde gerne mal das LINQ to XSD testen.

ich habe hier eine XML-Datei in das Projekt eingefügt, nun habe ich ein neues XML-schema hinzugefügt und dieses aus der genannten XML erstellen lassen..

nun weiß ich aber nicht mehr weiter..

Wie mach ich den jetzt eine instanz der XML bzw. des XSD ich hab echt keine ahnung...

ich habe mir das ungefähr so vorgestellt

dim ContactXML as MyXML
 
dim contact = from c in ContactXML _
              where c.name = "Hans"
              Select c
 
'Oder so änlich
 
dim ContactXML as MyXSD
 
dim contact = from c in ContactXSD _
              where c.name = "Hans"
              Select c
ich will halt auf meine XML intellisence haben, und da hab ich gelesen das ich ein schema brauche

vielen dank

mfg

Beitrag wurde zuletzt am 10.09.08 um 10:34:41 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Linq To XSD 
Autor: ModeratorRalf Ehlert (Moderator)
Datum: 10.09.08 11:36

Hier mal eine Schritt für Schritt Anleitung. Ich gehe von folgenden XML-Dokument aus:

<?xml version="1.0" encoding="utf-8" ?>
<books>
    <book id="1">
        <name>SQL Server 2005</name>
        <publisher>entwickler.press</publisher>
    </book>
    <book id="2">
        <name>Software testen</name>
        <publisher>mitp</publisher>
    </book>
    <book id="3">
        <name>SQL IT-Tutorial</name>
        <publisher>mitp</publisher>
    </book>
    <book id="4">
        <name>Software Factories</name>
        <publisher>mitp</publisher>
    </book>
</books>
Als erstes heißt es, für das XML-Dokument ein Schema zu erstellen und dieses auch dem Projekt hinzuzufügen, sodass die XSD-Datei im Projektmappenexplorer steht.

Danach kannst du damit entwickeln. Du bekommst automatisch IntelliSense. Um z.B. alle Buchnamen abzurufen, die beim mitp-Verlag veröffentlicht wurden, schreibst du folgendes:

        Dim doc = XDocument.Load("Books.xml")
 
        Dim mitpBook = From book In doc...<book> _
                       Where book.<publisher>.Value = "mitp" _
                       Select book.<name>.Value
 
        For Each book In mitpBook
            Console.WriteLine(book)
        Next
Als erstes lädst du dein Dokument. Danach kommt die LINQ-Abfrage. Hier selektiere ich mir alle book-Elemente, die irgendwo existieren, filter nach dem Verlag (book.<publisher> gibt dir ein XElement, wir interessieren uns aber nur für den Wert, daher noch .Value hinten dran) und selektieren nur den Wert aus dem name-Element. Danach einfache Konsolenausgabe.

Hier noch ein anderes Codebeispiel, wo mal ein Attribut mit verwendet wird:

Dim books = From book In doc...<book> _
                    Where CInt(book.@id) < 3 _
                    Select book.<name>.Value
Übrigens: Es heißt LINQ to XML und nicht LINQ to XSD

Ralf

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Linq To XSD 
Autor: CALChris
Datum: 10.09.08 11:48

vielen Dank, es funktioniert ;)

mfg
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Linq To XSD 
Autor: ModeratorDaveS (Moderator)
Datum: 10.09.08 12:04

Linq to XSD gibt es oder gab es schon. Wird es geben. Vielleicht. Irgendwann. Manchmal ist VB seiner Zeit voraus.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Linq To XSD 
Autor: ModeratorRalf Ehlert (Moderator)
Datum: 10.09.08 16:19

Ja, fiel auf einem tech.ed Video (über XML Literale von VB) auch ein paar Infos, aber das ist noch Zukunftsmusik

Ralf

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Linq To XSD 
Autor: CALChris
Datum: 11.09.08 08:27

aber was bringt einem dann LINQ to XSD..dort sind ja eigentlich keine informationen in form von Daten vorhanden sondern nur ein Schema zu einer XML datei.

mfg
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Linq To XSD 
Autor: ModeratorRalf Ehlert (Moderator)
Datum: 11.09.08 09:32

LINQ to XSD setzt auf LINQ to XML auf. LINQ to XML arbeitet untypisiert, das soll sich dann mit LINQ to XSD ändern, indem Klassen aus dem XSD-Schema generiert werden. Aus dem XML-Team Blog von MS:

The LINQ to XSD preview illustrates our initial thinking on a strongly-typed programming experience over LINQ to XML. Instead of working with untyped XML trees, LINQ to XSD allows you to program in terms of strongly-typed classes, generated based on an XSD schema.

Kommt irgendwann ins Framework

Ralf

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Linq To XSD 
Autor: CALChris
Datum: 11.09.08 09:40

klingt ja sehr interessant.. :P

danke dafür

mfg
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel