2016-05-05 8 views
2

У меня есть файл XML, который имеет два узла с одинаковым именем и должен проверить, существует ли первый. Я пытаюсь сделать с SelectSingleNode, и я нашел некоторые примеры XPath.Выберите конкретный узел рядом с другим - C# - SelectSingleNode

XML File

<root> 
    <header/> 
    <mensagem> 
     <header/> 
     <operacoes> 
      <operacao> 
       <titulo> 
      </operacao> 
      <operacao> 
       <titulo> 
      </operacao> 
     </operacoes> 
    </mensagem> 
    <trailer/> 
</root> 

Код

XmlDocument arquivoXml = new XmlDocument(); 
arquivoXml.Load(arquivo.ToString()); 

if (arquivoXml.DocumentElement.SelectSingleNode("root/header") != null) 
{ 
    // Tryed the condition above with XPath "../header" too 
    // If first header does exists 
} 
else 
{ 
    // If first header does not exists 
} 

условие всегда делать тот же самый результат, если удалить один или другой узел. Как я могу проверить существование конкретного?

Благодаря

ответ

1

Учитывая ваш XML, я думаю, что вы хотите проверить

if (arquivoXml.SelectSingleNode("root/header") != null) 

или

if (arquivoXml.DocumentElement.SelectSingleNode("header") != null) 

Вам даже не нужно XPath, но может использовать

if (arquivoXml.DocumentElement["header"] != null) 

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

  • Нет связанных вопросов^_^