Hayer Skrevet 25. oktober 2007 Del Skrevet 25. oktober 2007 Hei! Har ikke helt peil på hva man kaller alle de nodes, og childnodes og sånt, men problemmet er at jeg har lyst å legge til flere ting til XML filen min dette er xml filen nå: <?xml version="1.0"?> <person> <navn>Player</navn> <nr>1</nr> </person> dette er c# koden min: namespace ReadXML { using System; using System.Xml; public class ReadBankAccount { private const string m_strFileName = "c:\\account.xml"; public static void Main() { XmlTextReader XMLdoc = null; XMLdoc = new XmlTextReader(m_strFileName); while (XMLdoc.Read()) { if (XMLdoc.NodeType == XmlNodeType.Element) { if (XMLdoc.LocalName.Equals("navn")) { Console.WriteLine("{0}", XMLdoc.ReadString()); } if (XMLdoc.LocalName.Equals("nr")) { Console.WriteLine("{0}", XMLdoc.ReadString()); } } } } } } Jeg har lyst å lese XML filer som f.eks <?xml version="1.0"?> <person> <navn>Player</navn> <nr>1</nr> <alder> <aar>1974</aar> <fodested>Oslo</fodested> </alder> </person> Hvordan skal jeg gjøre det? (Helt ny til XML) Lenke til kommentar
GeirGrusom Skrevet 25. oktober 2007 Del Skrevet 25. oktober 2007 Hehe du ser litt ny ut i C# også Console.WriteLine(XMLdoc.ReadString()); Anyways, System.Xml synes jeg nermest er helt ubrukelig når man skal skrive nye XML filer, derfor pleier jeg å lese inn hele fila, og skrive den på nytt manuelt, uten å bruke System.XML Grunnen er at man må bruke XmlDocument for å lage nye noder, istedetfor den mer fornuftige metoden, som ville væer at XmlElemtn, XmlAttribute etc. hadde brukt constructors. Derfor må man skrive XmlElement new_elem = document.CreateElement(); (sett verdier til element) document.ChildNodes[1].ChildNodes.Add(new_elem); Jeg vile foretrukket at det fungerte slik: document.ChildNodes[1].ChildNodes.Add(new XmlElement("Hello World!")); Men det ser ut til at System.XML er skrevet av idioter. Lenke til kommentar
Hayer Skrevet 25. oktober 2007 Forfatter Del Skrevet 25. oktober 2007 Sikkert bare jeg som dummer meg ut nå men, jeg ville LESE filen, eller sa jeg ikke det? :s Lenke til kommentar
The Jackal Skrevet 25. oktober 2007 Del Skrevet 25. oktober 2007 (endret) Du leser den nå forsåvidt, du tar bare ikke høyde for alle de forskjellige elementene der. Hvis du lar koden i Main være som skrevet under, skulle du kunne få ut en ganske leselig output. System.Xml er forøvrig helt ypperlig til å lese Xml med. Tar bare litt tid å komme inn i, men det er mye bedre enn mye annet surr som ligger rundt omkring. XmlReader reader = XmlReader.Create(m_strFileName); while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: for (int i = 0; i < reader.Depth; i++) Console.Write("\t"); Console.Write("<" + reader.Name); if (reader.HasAttributes) { while (reader.MoveToNextAttribute()) Console.Write(" " + reader.Name + "=\"" + reader.Value + "\""); } if (reader.IsEmptyElement) Console.WriteLine("/>"); else Console.WriteLine(">"); break; case XmlNodeType.Text: for (int i = 0; i < reader.Depth; i++) Console.Write("\t"); Console.WriteLine(reader.Value); break; case XmlNodeType.EndElement: for (int i = 0; i < reader.Depth; i++) Console.Write("\t");; Console.WriteLine("</" + reader.Name + ">"); break; } } Edit! Mente Main metoden Endret 25. oktober 2007 av The Jackal Lenke til kommentar
Hayer Skrevet 25. oktober 2007 Forfatter Del Skrevet 25. oktober 2007 løst ikke så mye :/ Lenke til kommentar
The Jackal Skrevet 26. oktober 2007 Del Skrevet 26. oktober 2007 Da må du forklare litt bedre hva du skal gjøre. Koden jeg postet leser gjennom hele filen og skriver den ut i console. Lenke til kommentar
Hayer Skrevet 26. oktober 2007 Forfatter Del Skrevet 26. oktober 2007 sry, min feil.. koden din var genial, bare jeg som ikke orket å se i dybden Lenke til kommentar
GeirGrusom Skrevet 26. oktober 2007 Del Skrevet 26. oktober 2007 Hei!Har ikke helt peil på hva man kaller alle de nodes, og childnodes og sånt, men problemmet er at jeg har lyst å legge til flere ting til XML filen min dette er xml filen nå: Sikkert bare jeg som dummer meg ut nå men,jeg ville LESE filen, eller sa jeg ikke det? :s Nei, det sa du ikke. Du sa du ville legge til nye ting til en XML fil. Jebus Lenke til kommentar
The Jackal Skrevet 26. oktober 2007 Del Skrevet 26. oktober 2007 Hei!Har ikke helt peil på hva man kaller alle de nodes, og childnodes og sånt, men problemmet er at jeg har lyst å legge til flere ting til XML filen min dette er xml filen nå: Sikkert bare jeg som dummer meg ut nå men,jeg ville LESE filen, eller sa jeg ikke det? :s Nei, det sa du ikke. Du sa du ville legge til nye ting til en XML fil. Jebus Da må kanskje du lese litt bedre? "Jeg har lyst å lese XML filer som f.eks" ...altså, han vil utvide xml filen sin, men fortsatt lese den. Ikke programmatisk utvide den Lenke til kommentar
GeirGrusom Skrevet 26. oktober 2007 Del Skrevet 26. oktober 2007 ... så han skriver en fungerende kode, og deretter spør hvordan det gjøres? Bah! I had it with this game! i'm going for a scuttle. Lenke til kommentar
Manfred Skrevet 26. oktober 2007 Del Skrevet 26. oktober 2007 sry, min feil..koden din var genial, bare jeg som ikke orket å se i dybden Kanskje droppe å klage på forumet til du bestemmer deg for å gidde da... Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå