webForumDet fria alternativet

Ladda in xml i dataset?

.NETur .NET

5 svar · 400 visningar · startad av inspiro

Medlem sedan sep. 2005673 inlägg
Frågan#1

Hej! Har en xml-fil som jag vill ladda in. Problemet är att det är en massa "skräp" i xml-filen så jag vill gå in en bit i själva dokumentet och bara ladda in elementen "Item". Vet inte hur jag ska göra... gör jag som jag gör nu så får jag bara upp info om själva xml-dokumentet:

XmlNodeReader reader = new XmlNodeReader(doc);
DataSet ds = new DataSet();
ds.ReadXml(reader); 
reader.Close();
Medlem sedan sep. 2005673 inlägg
#2

Förtydligande:
Om jag har ett xml-dokument som ser ut så här:

<xml>
   <blaj>
      <oviktig info />
   </blaj>
   <viktigt>
      <Jätteviktigt />
   </viktigt>
   <viktigt>
      <Jätteviktigt />
   </viktigt>
</xml>

Hur gör jag då för att bara läsa in alla <viktigt> i ett dataset och utelämna allt annat?

Medlem sedan dec. 19996 522 inlägg
#3

Googla på xpath, en teknik som passar utmärkt för att hitta information i xml-dokument, välja noder etc.

http://www.w3.org/TR/xpath

http://www.w3schools.com/xpath/default.asp

Medlem sedan sep. 2005673 inlägg
#4

Jag har kollat en del på xpath men jag får det inte att funka, exempelvis om jag skriver så här så får jag ändå inte fram något:

foreach(XmlNode node in doc.SelectNodes("//item")) {
  Response.Write(node.Value + "<br>");
}

Det är alltså alla <item> som jag vill ha ut och allt som finns där emellan. Finns det något annat sätt att plocka ut dem, hur gör jag om jag vill loopa själv?

Medlem sedan okt. 200111 inlägg
#5

Läs in xmlfilen.

ds.ReadXml( "dinfil.xml" );

Och gör en ny select --> ds.Table[0].Select["viktigt"]

Kan inte syntaxen utantill. Men det finns en metod som heter "Select" i datasetet.

/Uffe

Medlem sedan dec. 19996 522 inlägg
#6

Har du dina värden som inner text eller values eller element? // utgår från rooten av ditt element via descending

131 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)