webForumDet fria alternativet

Har id vill få ut namnet från xml-fil

.NET

6 svar · 277 visningar · startad av Addeladde

Medlem sedan jan. 20013 406 inlägg
Frågan#1

Hej

Jag har ett id i en variabel nu vill jag få ut namnet som hör ihop med id ur en xml fil. Hur får jag det?

DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath("App_Data/debtyp.xml"));

Något åt detta håll kanske?

Medlem sedan dec. 19996 721 inlägg
#2

Nej, du ska använda XmlDocument och SelectSingleNode

Medlem sedan jan. 20013 406 inlägg
#3

om den kan ha flera noder med samma namn då?

<?xml version="1.0" encoding="utf-8"?>
<debtypes>
  <debtype>
    <text>Ej debitb. externt</text>
    <value>1</value>
  </debtype>
  <debtype>
    <text>Ej debitb. internt</text>
    <value>2</value>
  </debtype>
  <debtype>
    <text>Löpande</text>
    <value>3</value>
  </debtype>
....
Medlem sedan jan. 20013 406 inlägg
#4

Typ så här?
Känns som det borde finnas ett enklare sätt?

        XmlDocument xmlD = new XmlDocument();
        xmlD.Load(Server.MapPath("App_Data/debtyp.xml"));
       
        XmlNodeList xmlL = xmlD.GetElementsByTagName("debtype");
        for (int i = 0; i < xmlL.Count; i++)
        {
            Response.Write(xmlL.Item(i).ChildNodes.Item(1).InnerText + "<br />");
        }
Medlem sedan dec. 19996 721 inlägg
#5

Hmmm... vad vill du ha ut egentligen? "namnet som hör ihop med id" verkar inte gälla längre.

Är inte detta rätt statisk information, som skulle passa bättre i en databasstabell?

Medlem sedan jan. 20013 406 inlägg
#6

Jag är lite inmålad i ett hörn.
Jobbar med att göra en gamal c++ applikation webbaserad. De vill inte att jag skapar några nya tabeller och de värden som finns i xml-filen var tidigare hårdkodade i desktop applikationen.

Så jag har har en tabell med där jag får ut kanske max 10 rader åt gången. i tabellen finns debtypid som jag vill matcha med debtypnamn som finns i xml-filen så att det är namnet som skrivs ut.

Hade absolut varit smidigare med en tabell och bara gjort en join.

Medlem sedan dec. 19996 721 inlägg
#7

Okej, ladda in informationen (loopa, som ovan) i en Hashtable eller en DataTable (för all del, man kan gå via Dataset, men det kan bli lite bökigt) och lagra den i Cache, med en CacheDependency mot xml-filen.

265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)