Pagina 1 van 1

ASP.NET/XML

Geplaatst: 07 dec 2005, 18:46
door laris
Ik heb een xml file waarin muziekgenres zitten en deze zou ik graag in een DropDownList zien te krijgen.

De xml file ziet er als volgt uit

Code: Selecteer alles

<?xml version="1.0" encoding="UTF-8"?>
<mediatheekExtern generated="2005-10-22T13:57:16">
   <Genres>
      <Genre>
         <Type>Music</Type>
         <GenreDesc>Adult Alternative Pop/Rock</GenreDesc>
         <GenreId>AAR</GenreId>
      </Genre>
                ...


zo zitten er een 10-tal genres in


Eerst maak ik een dataset waar de xml in zou moeten komen

Code: Selecteer alles

Dim oDataSet As New DataSet
oDataSet.ReadXml("padnaarxmlfile")


Dan doe ik

Code: Selecteer alles

ddlGenres.DataValueField = "GenreId"
ddlGenres.DataTextField = "GenreDesc"
ddlGenres.DataBind()



Maar ik weet dat ik 1 node te hoog zit om aan "GenreId" en "GenreDesc" te kunnen

Hoe geraak ik 1 node dieper?

Geplaatst: 07 dec 2005, 19:57
door meon
Zonder hier iets van te kennen ... XPath?

Geplaatst: 07 dec 2005, 20:03
door khsw
Je dient enkel nog je DataSource te definiëren:

Code: Selecteer alles

ddlGenres.DataSource = oDataSet.Tables("Genre")

Geplaatst: 07 dec 2005, 20:04
door khsw
meon schreef:Zonder hier iets van te kennen ... XPath?


De easy way is via Datasets, kan je direct binden... Maar de die-hards nemen uiteraard XPath :wink:

Geplaatst: 07 dec 2005, 21:02
door laris
Bedankt, werkt perfect :wink:
(ben nog maar net begonnen met asp.net)

Geplaatst: 07 dec 2005, 21:25
door meon
Na eergisteren (of gisteren, wa was het ook weer) khsw's tip van dat gratis e-book ben ik nu ook maar es Visual Studio .net 2005 aan het installeren in een VM. Wel spijtig een beta, maar dat is het OS ook ;).

Die beta 2 wilde eerst niet eens installeren. Het .net-framework 2.0 dat er op stond (de final) was té nieuw voor de installer ... :)

Wat mij vooral interesseert is het bouwen van aspx-pagina's tegen SharePoint-lijsten als tabellen. Iemand tips voor naslagwerk?

Geplaatst: 07 dec 2005, 22:24
door wem
khsw schreef:Maar de die-hards nemen uiteraard XPath :wink:


XPath valt nog mee, met XQuery begint het pas interessant te worden (en moeilijker ;-) )

Geplaatst: 07 dec 2005, 22:45
door khsw
meon schreef:Na eergisteren (of gisteren, wa was het ook weer) khsw's tip van dat gratis e-book ben ik nu ook maar es Visual Studio .net 2005 aan het installeren in een VM. Wel spijtig een beta, maar dat is het OS ook ;).

Die beta 2 wilde eerst niet eens installeren. Het .net-framework 2.0 dat er op stond (de final) was té nieuw voor de installer ... :)

Wat mij vooral interesseert is het bouwen van aspx-pagina's tegen SharePoint-lijsten als tabellen. Iemand tips voor naslagwerk?


Je hoeft je niet te beperken tot de bèta releases, de Express Editions zijn gratis te downloaden vanaf de Microsoft-site...
http://msdn.microsoft.com/vstudio/express/default.aspx


Wil je webparts maken, of wil je Sharepoint ondervragen? Mijn Sharepoint kennis beperkt zich ongeveer tot een cursus die ik ooit heb gevolgd bij U2U. Maar mijn collega's Joris en Bart mag je met mijn groeten gerust storen met een vraagje :wink:

Geplaatst: 07 dec 2005, 23:10
door cptKangaroo
Van een programma dat ik ooit eens snel geschreven heb om msn conversaties te herbekijken -- 'k weet wel niet meer hoe het juist ineen zat en 't was serieus bricoleerwerk, maar misschien heb je er iets aan:

(form1 heeft enkel richtextbox1)

Public Sub xxx()
Dim yNL As Xml.XmlNodeList, yO As Xml.XmlNode, zO As Xml.XmlNode, tN As TreeNode, aO As Xml.XmlNode
Dim yXML As New Xml.XmlDocument, yATC As Xml.XmlAttributeCollection, yAT As Xml.XmlAttribute, aN As TreeNode, bO As Xml.XmlNode
yXML.Load("Path2file.xml")
If yXML.HasChildNodes = False Then Exit Sub
yNL = yXML.ChildNodes
For Each yO In yNL
tN = TreeView2.Nodes.Add(yO.LocalName)
If yO.HasChildNodes = True Then
For Each zO In yO.ChildNodes
tN.Nodes.Add(zO.OuterXml)
If zO.HasChildNodes = True Then
For Each aO In zO.ChildNodes
' From To Text
aN = tN.Nodes.Add(aO.LocalName)
If aO.HasChildNodes = True Then
'User User #Text
For Each bO In aO.ChildNodes
yATC = bO.Attributes
aN.Nodes.Add(bO.Name)
If (yATC Is Nothing) = False Then
For Each yAT In yATC
aN.Nodes.Add(yAT.Value)
Next
End If
Next
End If
Next
End If
Next
End If
Next

End Sub

Public Sub display_Conversations()

Dim nCONV As TreeNode, nF As String, nT As String
Dim SESSIONID As Integer = 0, aCONV As Integer = 0
Dim tCONV As TreeNode, rtf As RichTextBox = RichTextBox1, rtf_FONT As Font = rtf.Font
On Error Resume Next
Dim zXML As New Xml.XmlDocument, zLOG As Xml.XmlNodeList, zM As Xml.XmlNode
zXML.Load("path2file.xml")
If zXML.HasChildNodes = False Then Exit Sub
zLOG = zXML.ChildNodes(2).ChildNodes 'every childnode is a messageline
For Each zM In zLOG
'Get SessionID
SESSIONID = zM.Attributes("SessionID").Value
If SESSIONID <> aCONV Then
'tCONV = TreeView2.Nodes.Add("CONVERSATION " & SESSIONID & " -- " & zM.Attributes("DateTime").Value)
rtf.Text &= vbCrLf & vbCrLf & "----- CONVERSATION " & SESSIONID & " -- " & zM.Attributes("DateTime").Value.ToString & vbCrLf
aCONV = SESSIONID
End If

'Get the "From"
nF = zM.ChildNodes(0).ChildNodes(0).Attributes("FriendlyName").Value.ToString
rtf.Text &= vbCrLf & "::" & nF & "::" & vbCrLf
'Get the "Text"
nT = zM.ChildNodes(2).InnerText
'tCONV.Nodes.Add(nF & " :: " & nT)
rtf.Text &= nT & vbCrLf
Next

End Sub


EDIT :: form1 heeft blijkbaar ook een TreeView2, dus ik vermoed dat ik alles eerst naar een TreeView heb omgezet en dan in die RichTextBox1 heb gedumpt :-)

Geplaatst: 07 dec 2005, 23:34
door meon
khsw schreef:Wil je webparts maken, of wil je Sharepoint ondervragen? Mijn Sharepoint kennis beperkt zich ongeveer tot een cursus die ik ooit heb gevolgd bij U2U.

Ik ga hopeloos offtopic, maar het is geen nieuw topic waardig ;)

Ik was ook aan het zien voor een cursus bij U2U, met name USPPS, maar de prerequisites ... Ik heb geen echte programmeer-achtergrond, ik heb hoogstens wat noties en dan niet eens in microsoft-talen :(