Halloj, du kan få tag på det genom noden definiera "fungerar helt enkelt inte" fungerar menar jag att de exempel som finns att hämta på t.ex. msdn inte fungerar. det verkar inte som om metoden ens är implementerad. så här har jag skrivit nu för att hämta datat ur första nivån: Det löste sig!!!xmlDocument getElementById
Jag försöker att hämta data i en xml-fil baserat på ett id med hjälp av GetElementById, men det finns ingen dokumentation som har hjälpt mig med detta... Det exempel jag funnit på msdn fungerar helt enkelt inte.
Finns det möjligen något annat sätt att göra detta på? Problemet är att jag inte kommer att veta var i trädet id:et ligger.
xml-dokumentet ser ungefär ut såhär:
<root>
<nod id="1">
<namn />
<nod id="2">
<namn />
<nod ="3">
<namn />
</nod>
</nod>
</nod>
<nod id="4">
<namn />
</nod>
...
</root>
tack på förhand!Sv: xmlDocument getElementById
XmlNode node = new XmlNode();
node.Attributes["name"].ValueSv: xmlDocument getElementById
Sen angående att inte veta var i trädet noden finns, alltså strukturen är väl ändå likadan (dvs, samma förälder, och den intressanta datan finns relativt sett på samma ställe). I annat fall är det nog snarare problem med strukturen på ditt xml dokument.Sv:xmlDocument getElementById
varför skulle strukturen vara fel? strutkturen är hierarkisk och datat finns inte alltid på samma ställe.Sv:xmlDocument getElementById
XmlDocument xDoc = new XmlDocument();
xDoc.Load(Server.MapPath("filen.xml"));
XmlNode xNode = xDoc.SelectSingleNode("//root/nod[@id='1']");
string x = xNode.ChildNodes.Item(0).InnerText;
här har jag ju då hårdkodat sökvägen till node och hämtar sedan värdet i <name />, men sökvägen skulle lika gärna kunna vara //root/nod/nod.. osv.
/emilSv: xmlDocument getElementById
Jag fick skriva en dtd som sa att attributet id var ett id :)