webForumDet fria alternativet

Xml till en DataList

.NET

1 svar · 178 visningar · startad av NETwork

Medlem sedan juni 20011 732 inlägg
Frågan#1

Problemas! Tänkte att det var dags att titta lite närmare på XML och det tog inte så lång tid innan man blev förbannad. ;) Jag har ett xml-dokument med noder i flera nivåer.

<?xml version="1.0" encoding="utf-8" ?>
<Map>
<GroupNode Page="Sida 1" Source="http" />
<GroupNode Page="Sida 2" Source="http">
<PageNode Page="Undersida 1" Source="http"></PageNode>
<PageNode Page="Undersida 2" Source="http"></PageNode>
</GroupNode>
</Map>

Nu vill jag lista detta, helst i en datalist. Jag har inte kommit så långt:

DataTable dt = new DataTable();
FileStream fs = new FileStream(Request.PhysicalApplicationPath+"\\Map\\Map.xml",FileMode.Open,FileAccess.Read);
StreamReader reader = new StreamReader(fs);
ds.ReadXml(reader);
fs.Close();

DataView dv = new DataView(dt);

MyDataList.DataSource = dv;
MyDataList.DataBind();

Detta skriver såklart bara ut GroupNode, men inte PageNode. Men varje GroupNode innehåller ju 0 till n pagenodes och dessa ska då lopas för varje GroupNode. Behöver man då en repeater i en repeater för varje nivå i xml-dokumentet eller hur ska man göra?

Medlem sedan maj 2001329 inlägg
#2

Hepp, är inte världsmästare på Xml men jag skulle nog inte ha använt en stream för att läsa in XML-documentet utan istället använda XmlDocument.

Så ta en titt på XmlDocument (går lätt att föra över det till ett dataset där med och massa funktioner för att loppa i Xml documentet finns.)

270 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
137 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
136 ms — ändringar (db)