2015-06-01 4 views
0

У меня есть xml-файл с узлами, содержащими коды, которые мне нужно получить в строке, если выбранный суффикс соответствует одному в xml. Это как мой XML выглядит следующим образом:Как получить XML-текст узла?

<ntcode NTCODE="BTM"> 
"2","724,02F,FFFFFFFF,FFFFFFFF,FF","724,03F,FFFFFFFF,FFFFFFFF,FF" </ntcode> 

<ntcode NTCODE="CLR"> 
"1","724,05F,FFFFFFFF,FFFFFFFF,FF" </ntcode> 

И это код, я использую:

XmlDocument xml = new XmlDocument(); 
      xml.Load(@"/*network address*/\NTCodes.xml"); 
      XmlNodeList list = xml.SelectNodes("ntcodes/ntcode"); 
      string ntcode = null; 

      foreach (XmlNode node in list) 
      { 
       if (node.Attributes["NTCODE"].Value.ToString().Equals(suffix)) 
       { 
        // what should I put here? 
       } 
      } 

Любая помощь будет оценена.

+0

возможный дубликат [Как получить текст внутри XmlNode (C#)] (http://stackoverflow.com/questions/6266647/how-to-get-text-inside-an-xmlnode-c) –

ответ

3

Вы согласны с XmlDocument? Это довольно тривиально с гораздо приятнее LINQ к XML API:

var doc = XDocument.Load("path\NTCodes.xml"); 

var value = (string)doc.Descendants("ntcode") 
    .Single(e => (string)e.Attribute("NTCODE") == suffix); 

Если вы хотите придерживаться своего XmlDocument кода, текст из нашло XmlNode, значение может быть получено с помощью:

var value = node.InnerText; 
Смежные вопросы