2013-08-23 2 views
0

Я начинаю программировать на C#, и я начинаю, поэтому у меня нет опыта. Я хочу, чтобы однажды был профессионалом и начал разрабатывать решения. Моя программа сохраняет информацию в XML-файле, а затем читает одну и ту же информацию в одном и том же XML-файле. Файл XML имеет следующий форматXML selectsinglenode как фильтровать тег?

<Dados> 
    <Nome>Vitor Emanuel Macedo Ferreira</Nome> 
    <Sexo>M</Sexo> 
    <Idade>22</Idade> 
    <Peso>86</Peso> 
    <Altura>1.87</Altura> 
</Dados> 

И в C# код мое решение имеет:

OpenFileDialog ofd = new OpenFileDialog(); 
     ofd.Filter = "XML|*.xml"; 
     ofd.FileName = ("c:\\xml\\data.xml"); 
     if (ofd.ShowDialog() == DialogResult.OK) 
     { 
      XmlDocument xDoc = new XmlDocument(); 
      xDoc.Load(ofd.FileName); 
      xDoc.SelectSingleNode("Dados"); 
      if (ofd.FileName == "c:\\xml\\data.xml" && xDoc.SelectSingleNode(string.Empty) == xDoc.SelectSingleNode("Dados")) 
      { 


        label8.Show(); 
        textBox1.Hide(); 
        textBox2.Hide(); 
        textBox3.Hide(); 
        radioButton1.Hide(); 
        radioButton2.Hide(); 
        label1.Hide(); 
        label2.Hide(); 
        label3.Hide(); 
        label4.Hide(); 
        label5.Hide(); 



      } 
      else if (ofd.FileName == "c:\\xml\\data.xml" && xDoc.SelectSingleNode("") != xDoc.SelectSingleNode("Dados")) 
      { 
       MessageBox.Show("XML in incorrect path please put your xml file in c:\\xml"); 
      } 



      } 

Как фильтровать содержимое файла XML, особенно тег. Мне нужно, чтобы мое решение прочитало XML-файл, и когда он прочитал тег, который он сможет сказать через Messagebox, тег «Ошибка тега не равен», в противном случае, если тег равен ему, он должен продолжить.

ответ

1

Проверьте это:

XmlDocument doc = new XmlDocument(); 
doc.Load(ofd.Filename); 

Теперь используйте XmlNode, чтобы пройти через узлы:

XmlNode rootNode = doc.SelectSingleNode("Dados"); 

Получить другие узлы, а также таким образом, :

XmlNode nomeNode = rootNode.SelectSingleNode("Nome"); 
XmlNode saxoNode = rootNode.SelectSingleNode("Saxo"); 

Это должно дать вам начало.

+0

спасибо. Я решил свою проблему, обыскав в Интернете с некоторой настойчивостью. Хотя эти решения не решают мою проблему благодаря сотрудничеству. –

1

Вы хотите использовать XPath для перемещения по XML-документу.

Там есть руководство по его использованию в C# here.

Смежные вопросы