hugorodrigues Posted September 5, 2014 at 10:50 PM Report Share #566426 Posted September 5, 2014 at 10:50 PM Boa noite, preciso aqui de uma pequena ajuda. Eu na app que estou a fazer, as traduções estão em ficheiros xml, em que quando um utilizador altera o idioma a aplicação tira os valores do xml e aplica nos controlos. O problema que estou a ter é que não consigo chegar ao nó do xml. O xml que tenho até agora é este <?xml version="1.0" encoding="UTF-8"?> <!--en_US--> <OpenBugTracker> <Common> <value>Error</value> <value>Action completed</value> <value>Done</value> <value>Cancel</value> <value>Mandatory field</value> <value>Confirm</value> <value>Please be patient</value> <value>Check connection to</value> <value>Importing configuration</value> <value>Save</value> <value>Delete</value> </Common> <OBT> <splashScreen> <value>Error creating directory</value> <value>Error copying file</value> </splashScreen> <login> <value>Login</value> <value>Select OpenBugTracker server</value> <value>Manage servers</value> <value>Username</value> <value>Password</value> <value>Login anonymously</value> <value>Restore password</value> <value>or</value> <value>Register</value> <value>No servers available</value> <value>Do you want to add your first server?</value> <value>Pressing \"No\" will close OpenBugTracker</value> <value>Testing connection to</value> </login> </OBT> <ServerManager> <value>Server Manager</value> <value>Search</value> <value>New server</value> <value>Server name</value> <value>Manual configuration</value> <value>Server Host</value> <value>Server Port</value> <value>Server Username</value> <value>Server Password</value> <value>Server Database</value> <value>Database prefix</value> <value>Select server engine</value> <value>Use URL configuration</value> <value>Do you want to delete </value> <value>Server Instance</value> </ServerManager> </OpenBugTracker> e no C# o código que tenho é este. XmlDocument doc = new XmlDocument(); doc.Load(Application.StartupPath + @"\Language\en_US.xml"); XmlNodeList nodeList; XmlNode root = doc.DocumentElement; nodeList = root.SelectNodes("descendant::Common[values]"); foreach (XmlNode value in nodeList) MessageBox.Show(value.Value.ToString()); Eu tirei deste link, e quando foi a ver se funcionava o nodeList fica sempre vazio :s eu sei que o problema está em indicar o nó mas é questão é que não consigo lá chegar. A ideia é que ele percorra os values e preencha um array com os valores. Alguém me pode ajudar? Desde já obrigado, Because being normal isn't funny Link to comment Share on other sites More sharing options...
snake8856 Posted September 8, 2014 at 09:10 AM Report Share #566525 Posted September 8, 2014 at 09:10 AM (edited) verifica na linha nodeList = root.SelectNodes("descendant::Common[values]"); e troca para (retirando o 's' de values) nodeList = root.SelectNodes("descendant::Common[value]"); eu acho que vem daí Edited September 8, 2014 at 09:13 AM by snake8856 Link to comment Share on other sites More sharing options...
hugorodrigues Posted September 8, 2014 at 09:31 AM Author Report Share #566531 Posted September 8, 2014 at 09:31 AM (edited) Eiah o que XD andei a partir a cabeça por causa de um 's' Eu assim que experimentar digo alguma coisa. EDIT: Já consegui. Só fiz uma alteração, quando se escolhe o nó do XML tem que se meter nodeList = root.SelectNodes("descendant::Common/value"); caso contrário vai dar todos os valores na mesma string. Edited September 8, 2014 at 10:27 PM by hugorodrigues Because being normal isn't funny Link to comment Share on other sites More sharing options...
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