VB: XDocument

Muffel2k

Enthusiast
Thread Starter
Mitglied seit
19.10.2003
Beiträge
1.656
Ort
Schweiz
Moin,

ich habe mich gerade ein wenig in XDocument eingearbeitet, kriege aber nun eine "Fehlermeldung" vor den Latz geknallt aber das Programm funktioniert trotzdem. Natürlich würde ich gerne den Fehler beheben, aber wie?

Hier mal ein paar Codezeilen

cbt dient mir als Übergangsvariable von der Combobox
Code:
Dim cbt As String

cbt wird mit einem Wert gefüllt (die Ausgabe des Wertes funktioniert, sprich cbt hat einen Wert hinterlegt gekriegt)
Code:
cbt = ComboBox1.Text

In einer sub steht dann Folgendes:
Code:
Dim materialXDoc = XDocument.Load("C:\Test\Material.xml")
        Dim groupXDoc = XDocument.Load("C:\Test\Zerspanungsgruppen.xml")
        Dim searchValue = cbt
        Dim searchedgroup = (From n In materialXDoc...<Material>
                                         Where n.@name = searchValue
                                         Select n.<Zerspanungsgruppe>.Value).SingleOrDefault()

        Dim correspondingValues = (From n In groupXDoc...<Zerspanungsgruppe>
                                  Where n.@name = searchedgroup
                                  Select New With {.SpezSchnittkraft = CInt(n.<spezSchnittkraft>.Value), .AnstiegswertMc = CDbl(n.<AnstiegswertMc>.Value)}).SingleOrDefault()
        Dim ssk = correspondingValues.SpezSchnittkraft
        Dim amc = correspondingValues.AnstiegswertMc
        Label3.Text = ssk
        Label4.Text = amc

So, wenn ich mit Visual Studio Express 2012 auf Debug klicke kriege ich ne Fehlermeldung (Object reference not set to an instance of an object) und die zeigt auf die 4. letzte Zeile (Dim ssk). Wenn ich auf "Weiter" klicke wird das Programm geöffnet und es funktioniert augenscheinlich auch einwandfrei.

Stehe grad vor einer Wand :/
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
irgendwie klappt das mit der verschachtelten Abfrage nicht, deshalb diese Lösung

Code:
        Dim value1 = (From n In groupXDoc...<Zerspanungsgruppe>
                                  Where n.@name = searchedgroup
                                  Select n.<spezSchnittkraft>.Value).SingleOrDefault()
        Dim value2 = (From n In groupXDoc...<Zerspanungsgruppe>
                          Where n.@name = searchedgroup
                          Select n.<AnstiegswertMc>.Value).SingleOrDefault()

is zwar nicht ganz so elegant, funktioniert aber einwandfrei
 
Das hattest du mir letztes Mal schon vorgeschlagen ^^
Ich habe jetzt das Project gestoppt und werde am Weekend mal die ganzen XML Varianten an einfacheren Beispielen testen, glaube ich bin da zu schnell in zu "komplexe" Sachen geraten
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh