MuRdOc Posted December 15, 2006 at 07:40 PM Report #70733 Posted December 15, 2006 at 07:40 PM boas, tou a utilizar um .xml para guardar definiçoes de um programa que estou a fazer. A parte de criar o .xml e meter la os dados correu td bem, o problema é que nao consigo ler os valores, dá sempre null... tou a fazer assim: textReader = new XmlTextReader("c:\\settings.xml"); textReader.Read(); while (textReader.Read()) { if (textReader.LocalName == "Username") lblTest1.Text = textReader.Value; if (textReader.LocalName == "Password") lblTest2.Text = textReader.Value; if (textReader.LocalName == "Adress") lblTest3.Text = textReader.Value; if (textReader.LocalName == "Database") lblTest4.Text = textReader.Value; } E este é o file .xml <?xml version="1.0"?> <ROOT> <Username>sa</Username> <Password>teste</Password> <Adress>teste</Adress> <Database>Northwind</Database> </ROOT> Alguem pode dar umas luzinhas? Thanks
benny Posted December 15, 2006 at 08:47 PM Report #70751 Posted December 15, 2006 at 08:47 PM Não sei se estarei a dizer alguma bacorada, mas como o XML funciona com nest´s, se calhar teria mais lógica teres o teu ficheiro XML com um nest Conf (por exemplo) e depois então teres os seus "atributos" nesse nest. É só um àparte.
MuRdOc Posted December 15, 2006 at 09:38 PM Author Report #70764 Posted December 15, 2006 at 09:38 PM é assim, eu n percebo muito de XML (se calhar seria mais certo dizer q n percebo mm nada) portanto n tou a ver o que tas a dizer... de qualquer das maneiras vou googlar isso. PS: caraças enganei-me na secçao :s
Tiago Salgado Posted December 15, 2006 at 11:04 PM Report #70792 Posted December 15, 2006 at 11:04 PM Não será melhor algo do genero: Dim doc As XmlDocument = New XmlDocument doc.Load("C:\file.xml") Dim nodes As XmlNodeList = doc.SelectNodes("/ROOT") Dim node As XmlNode For Each node In nodes Console.WriteLine(node("Username").InnerText) Console.WriteLine(node("Password").InnerText) Console.WriteLine(node("Address").InnerText) Console.WriteLine(node("Database").InnerText) Next
MuRdOc Posted December 15, 2006 at 11:34 PM Author Report #70799 Posted December 15, 2006 at 11:34 PM Não será melhor algo do genero: Dim doc As XmlDocument = New XmlDocument doc.Load("C:\file.xml") Dim nodes As XmlNodeList = doc.SelectNodes("/ROOT") Dim node As XmlNode For Each node In nodes Console.WriteLine(node("Username").InnerText) Console.WriteLine(node("Password").InnerText) Console.WriteLine(node("Address").InnerText) Console.WriteLine(node("Database").InnerText) Next hmmm ok vou tentar, thx 😉
MuRdOc Posted December 16, 2006 at 12:21 AM Author Report #70804 Posted December 16, 2006 at 12:21 AM bom, fiz assim: //string strUsername = "Username"; (...) XmlDocument document = new XmlDocument(); document.Load("c:\\settings.xml"); XmlNodeList xmllist = document.SelectNodes("/ROOT"); foreach (XmlNode node in xmllist) { //if (String.Equals(strUsername, node.Name)) lblTest1.Text += node.InnerText; } o que devolve (a parte importante é a 1ª label2): http://img262.imageshack.us/img262/5333/teste1cy6.th.jpg mas sem a string e o if comentados, nao devolve nada, fica só label2. n consigo ir buscar os outros nodes
MuRdOc Posted December 16, 2006 at 01:22 PM Author Report #70835 Posted December 16, 2006 at 01:22 PM ah consegui 🙂 XmlDocument document = new XmlDocument(); document.Load("c:\\settings.xml"); XmlElement xmlROOT = document.DocumentElement; XmlNode xmlSettings = xmlROOT.FirstChild; XmlNodeList xmllist = xmlSettings.ChildNodes; foreach (XmlNode node in xmllist) { if (String.Equals(strUsername, node.Name)) lblTest1.Text = node.InnerText; if (String.Equals(strPassword, node.Name)) lblTest2.Text = node.InnerText; if (String.Equals(strAdress, node.Name)) lblTest3.Text = node.InnerText; if (String.Equals(strDatabase, node.Name)) lblTest4.Text = node.InnerText; } fica aqui para quem precisar 😄 Thanks a todos os que ajudaram.
Tiago Salgado Posted December 17, 2006 at 01:22 PM Report #70935 Posted December 17, 2006 at 01:22 PM Desculpa ter enviado o código em VB.NET, mas só agora reparei que era em C# que precisavas. 😄
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now