Avatar billede perels Nybegynder
23. februar 2006 - 13:19 Der er 10 kommentarer og
1 løsning

Hjælp: XML og Datagrid

Hej

Jeg prøver at hente data fra en XML-streng ind i et DataGrid - men jeg ønsker kun at bestemte dele af XML'en ind i grid'et.

Her er min XML, som kommer i en lang "single-line" tekststreng.

<Result><CommercialSchoolActivities>  <SchoolNumber>157421</SchoolNumber> <Activity>  <Name>0e06ext19102</Name>  <ExternalName>lastbilmonteret kran, cert. d</ExternalName>  <StartDate>2006-02-20</StartDate>  <EndDate>2006-03-03</EndDate>  <Description>lastbilmonteret kran, cert. d</Description> <Location>  <Description>Randers Tekniske Skole</Description>  <StreetAddress>Vester Alle 26</StreetAddress>  <PlaceName>Randers</PlaceName>  <Telephone>87-100400</Telephone>  </Location>  <TeachingTime>8.00-15.10</TeachingTime>  <TeachingForm>Dagundervisning</TeachingForm>  <TeachingPostalcode>8900</TeachingPostalcode>  <Price>1000</Price>  <ContactPerson>Grete Andersen</ContactPerson>  <ContactTelephone>87118512</ContactTelephone>  <RunningAdmission>N</RunningAdmission>  <IndividualSubjectChoice>N</IndividualSubjectChoice>  <ReportingPrinciple>P</ReportingPrinciple>  <Quotient>12</Quotient>  <RegistrationFormular>Tilmelding</RegistrationFormular> <Subject>  <Name>42548</Name>  <Level>-</Level>  <Description>Lastbilmonteret kran D certifikat</Description>  <UvmName>42548</UvmName>  <UvmLevel>-</UvmLevel>  <UvmDescription>Lastbilmonteret kran D certifikat</UvmDescription>  <SubjectStatus>I</SubjectStatus>  <DurationInDays>5</DurationInDays>  <FKB>2732</FKB>  <FKBVersion>1</FKBVersion>  <FKBDescription>Lastbilkran</FKBDescription> <Period>  <StartDate>2006-02-20</StartDate>  <EndDate>2006-03-03</EndDate>  <DurationDays>5</DurationDays> </Period></Subject></Activity>....</CommercialSchoolActivities></Result>

Her er min vb-kode:

Dim xmlString As StringxmlString = "<Result><CommercialSchoolActivities><SchoolNumber>731401</SchoolNumber><Activity>.."

Dim rdr As New StringReader(xmlString)
Dim ds As New DataSet
ds.ReadXml(rdr)
dgCourses.DataSource = ds
dgCourses.DataSource = ds.Tables(3)
dgCourses.DataBind()

Problemet med denne kode, er at den kun hiver <Subject>-tabellen fra XML ind, og det ønsker jeg ikke.
Jeg ønsker at hive følgende ind i datagrid'et:

Fra Activity
<Name>0e06ext19102</Name>

Fra Subject
<Description>Lastbilmonteret kran D certifikat</Description>
<DurationInDays>5</DurationInDays>

Fra Period
<StartDate>2006-02-20</StartDate>
<EndDate>2006-03-03</EndDate>

Med andre ord, jeg ønsker altså hive data fra de forskellige SubTables og binde dem til et datagrid - kan det lade sig gøre?
Jeg er på bar bund, så jeg håber nogen kan hjælpe rimeligt hurtigt...evt. med en alternativ løsning.
Jeg har også smidt spørgsmålet i ASP.NET-kategorien, så den der svarer får altså 325 point ud af det...

På forhånd tak.
Avatar billede dr_chaos Nybegynder
23. februar 2006 - 13:21 #1
du må maksimalt give 200 points for et spørgsmål.
Avatar billede perels Nybegynder
23. februar 2006 - 13:23 #2
Oki... det var jeg ikke klar over.... men spørgsmålet er stillet 2 gange, så man kan vel bare svare 2 gange eller hvad?
Avatar billede dr_chaos Nybegynder
23. februar 2006 - 13:24 #3
nej du kan evt lukke det ene ved selv at svare og acceptere svaret.
Avatar billede dr_chaos Nybegynder
23. februar 2006 - 13:25 #4
men ud fra det jeg ligesom kan forstå af dit spørgsmål sp vil du gerne have nogle bestemte kolloner ud fra en bestemt tabel i datasettet ?
Avatar billede perels Nybegynder
23. februar 2006 - 13:27 #5
OK, det andet er spørgsmål er lukket.
Yes, jeg vil gerne have bestemte kolonner ud og have bundet disse til DataGrid'et der hedder dgCourses.
Avatar billede dr_chaos Nybegynder
23. februar 2006 - 14:33 #6
Dim rdr As New StringReader(xmlString)
Dim ds As New DataSet
ds.ReadXml(rdr)
dgCourses.DataSource = ds
dgCourses.DataSource = ds.Tables(1)
dgCourses.DataBind()
Avatar billede perels Nybegynder
23. februar 2006 - 14:40 #7
Den løsning vil ikke virke, da de kolonner jeg skal bruge ligger i forskellige tables (ds.Tables(x)), den ene værdi (Name) ligger i Activity-tabellen - Description og DurationInDays ligger i Subject-tabellen - og StartDate/EndDate ligger i Period-tabellen... Se evt. XML'en her med en pænere formatering: http://forums.asp.net/1206354/ShowPost.aspx - håber du eller nogen andre kan hjælpe.
Avatar billede dr_chaos Nybegynder
23. februar 2006 - 16:51 #8
har du mulighed for selv at påvirke den xml du får?
Avatar billede perels Nybegynder
23. februar 2006 - 16:52 #9
Jeg fandt en løsning :-)
Avatar billede perels Nybegynder
23. februar 2006 - 16:52 #10
Jeg fandt en løsning :-)
Avatar billede dr_chaos Nybegynder
23. februar 2006 - 16:53 #11
hvad var løsningen ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester