2010-08-27 2 views
0

Надеюсь, это простой вопрос!linq xml обработка ошибок

в следующем коде все хорошо, если элемент существует, но если он не ошибается. XDocument xmldoc = новый XDocument();

 xmldoc = XDocument.Parse(response); 


     XElement errorNode = xmldoc.Root.Element("TransactionErrorCode").Element("Code"); 

Как я могу проверить, существует ли он, поэтому он не вызывает ошибку?

ответ

1

Вы получали исключение NullReferenceException?

тест, чтобы увидеть, если первый элемент существует, прежде чем пытаться работать с ним:

var transactionErrorCode = xmldoc.Root.Element("TransactionErrorCode"); 
if(transactionErrorCode != null) 
{ 
    var code= transactionErrorCode .Element("Code"); 
} 
+0

спасибо, но корневой элемент только там иногда! и это приводит к «Ссылка на объект не установлена ​​в экземпляр объекта». Я пробовал пуст, но получаю ту же проблему ... Любые идеи? – Adrian

+0

Извините, просто прочитал и попробовал это снова! Он отлично работает. благодарит за вашу помощь – Adrian

0
xmldoc = XDocument.Parse(response); 
if (xmlDoc != null) 
{ 
    root = xmlDoc.Root; 
    if (xmldoc.Root != null) 
    { 
    ... You get the idea 

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