myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
   » Plugin für Firefox
   » Plugin für IE7
   » Gadget für Vista
» Regeln
» Wie poste ich richtig?
» Datenschutzerklärung
» wbb-FAQ

Mitglieder
» Liste / Suche
» Stadt / Anleitung dazu
» Wer ist wo online?

Angebote
» ASP.NET Webspace
» Bücher
» Zeitschriften
   » dot.net magazin
» Accessoires

Ressourcen
» .NET-Glossar
» guide to C#
» openbook: Visual C#
» openbook: OO
» .NET BlogBook
» MSDN Webcasts
» dotnetjob.de
» Search.Net

Team
» Kontakt
» Übersicht
» Wir über uns
» Bankverbindung
» Impressum

» Unsere MiniCity
MiniCity
» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Datentechnologien » XML to Datagrid
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

XML to Datagrid

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
CyberHunter
myCSharp.de-Mitglied

Dabei seit: 30.08.2007
Beiträge: 127
Entwicklungsumgebung: Visual Studio 2010
Herkunft: Österreich


CyberHunter ist offline

XML to Datagrid

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo zusammen,

In meiner Silverlight 4 Anwendung bekomme ich Daten von einem Webservice welcher sich die Daten aus SQL zieht.
Diese Daten bekomme ich als XML-String vom Webservice zurück.

Nun muss ich diese Daten in einem Datagrid anzeigen, mein Problem ist jedoch ich weiss nicht wie die XML - Daten aufgebaut sind, diese können stark variieren, das kann grob gesagt heute eine Tablle von Autos sein, morgen eine von Personen, daher kann ich mir nicht eigene Objekte bauen und das XML dann in eine List<T> parsen.

Hat jemand eine Idee bzw. einen Tipp wie ich die XML Daten in mein Datagrid bekomme?

Danke für eure Hilfe
CyberHunter
21.06.2012 14:24 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
gfoidl gfoidl ist männlich
myCSharp.de-Team (Moderation)

images/avatars/avatar-2894.jpg


Dabei seit: 07.06.2009
Beiträge: 5.358
Entwicklungsumgebung: VS 2010 sup{Editionen}
Herkunft: Waidring / Tirol


gfoidl ist online

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo CyberHunter,

ein grobes Schema wird für die Daten wohl existieren und daraus kannst du mit Linq2Xml und anonymen Typen etwas aufbauen und dann gegen das DataGrid binden.

Kannst du exemplarische Beispiele für das XML bringen?

Solltest du aber Einfluss auf den Webservice haben, so ändere diesen ab.

mfG Gü
21.06.2012 14:28 Beiträge des Benutzers | zu Buddylist hinzufügen
CyberHunter
myCSharp.de-Mitglied

Dabei seit: 30.08.2007
Beiträge: 127
Entwicklungsumgebung: Visual Studio 2010
Herkunft: Österreich

Themenstarter Thema begonnen von CyberHunter

CyberHunter ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo gfoidl,

Danke für deine Antwort.

Ja ich habe einfluss auf den Webserivce, aber wie würdest du diesen anpassen?

Die XML Daten sind eingentlich ganz einfach aufgebaut und basieren auf einer System.Data.DataTable:

XML-Code:
<DocumentElement>
     <DS>
           <Vorname>Max</Vorname>
           <Nachname>Mustermann</Nachname>
           .............
     </DS>
      <DS>
           <Vorname>Susi</Vorname>
           <Nachname>Sorglos</Nachname>
           .............
      </DS>
        .............
</DocumentElement>

Und das ganze kann dann eben auch mit komplett anderen "Spalten" daher kommen:

XML-Code:
<DocumentElement>
     <DS>
           <Marke>Audi</Marke>
           <Gewicht>1,8 t</Gewicht>
           .............
     </DS>
      <DS>
           <Marke>BMW</Marke>
           <Gewicht>1,6 t</Gewicht>
           .............
      </DS>
        .............
</DocumentElement>

Den gedanken an Anonyme Typen hatte ich auch schon, aber dann müsste ich ja wissen wieviele Properties ich brauche und wie diese Namentlich heissen sollen.

Danke für deine Hilfe
CyberHunter
21.06.2012 14:47 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
jogibear9988 jogibear9988 ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.07.2007
Beiträge: 471
Entwicklungsumgebung: VS 2010 RC
Herkunft: Offenau


jogibear9988 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hier gibts ein Beispiel:  Reading XML documents using LINQ to XML
21.06.2012 14:58 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
gfoidl gfoidl ist männlich
myCSharp.de-Team (Moderation)

images/avatars/avatar-2894.jpg


Dabei seit: 07.06.2009
Beiträge: 5.358
Entwicklungsumgebung: VS 2010 sup{Editionen}
Herkunft: Waidring / Tirol


gfoidl ist online

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo CyberHunter,

Zitat:
und basieren auf einer System.Data.DataTable

dann übertrag die DataTable und binde gegen diese. Geht das (von den Anforderungen her)?

Bei den anonymen Typen müsstest du die Spaltenbezeichnung speichern in einer allgemeiner Eigenschaft wie Spalte1, Spalte2, usw. und dann für die Werte extra.

Ev. wäre aber ein ExpandoObject (aus der DLR) auch passend. Die tatsächlichen Eigenschaften kannst du vom XML auslesen und dann dynamisch das Objekt aufbauen.

Aber das Übertragen der DataTable wäre einfacher.


mfG Gü
21.06.2012 15:11 Beiträge des Benutzers | zu Buddylist hinzufügen
jogibear9988 jogibear9988 ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.07.2007
Beiträge: 471
Entwicklungsumgebung: VS 2010 RC
Herkunft: Offenau


jogibear9988 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

DataTable gibts in SilverLight nicht!
21.06.2012 15:17 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
gfoidl gfoidl ist männlich
myCSharp.de-Team (Moderation)

images/avatars/avatar-2894.jpg


Dabei seit: 07.06.2009
Beiträge: 5.358
Entwicklungsumgebung: VS 2010 sup{Editionen}
Herkunft: Waidring / Tirol


gfoidl ist online

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo jogibear9988,

verdammt, wusste ich nicht - danke.

Schau dir mal das ExpandoObject an (das gibts in Silverlight, gerade geprüft ;-)). Ich denke, das ist eine brauchbare Möglichkeit.

mfG Gü
21.06.2012 15:22 Beiträge des Benutzers | zu Buddylist hinzufügen
FZelle
myCSharp.de-Poweruser/ Experte

Dabei seit: 23.04.2004
Beiträge: 8.485


FZelle ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

DataSet/DataTable gibt es nicht im Lieferumfang, aber sehr wohl für Silverlight.

 ADO.Net DataSet for Silverlight Applications
21.06.2012 16:51 Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 11 Monate.
Der letzte Beitrag ist älter als 11 Monate.
Antwort erstellen


© Copyright 2003-2013 myCSharp.de-Team. Alle Rechte vorbehalten. 22.05.2013 15:23