2013-01-25 136 views
-1

我有将XML发布到WebResponse并获取Xml数据的输出/响应的代码。 如果他们是一个错误,当发布它导致这样的XML输出响应:检查XML元素的最佳方法

<OUTPUT version="1.0"> 
    <ERROR type="Incomplete">Invalid data</ERROR> 
</OUTPUT> 

的第一个元素将是“错误”如果遇到一个错误,如果遇到没有错误的第一个元素将是“INFO ”。 他们的方式检查webResponse XML第一个元素是否为“错误”,如果是的话,抓住标签内的类型属性和文本“无效数据”。如果没有错误,什么都不要做。不知道如何解析xml数据。

XDocument doc = XDocument.Parse(XmlResponse) 
errorMsg = doc.Parse(XMLResponse).Descendants("ERROR").Select(e => (string)e.Attribute("type")).First().ToString(); 

回答

0

为了得到错误类型:

XDocument doc = XDocument.Parse(XmlResponse) 
XElement firstElement = doc.Root.Elements().First(); 
if(firstElement.Name == "ERROR") 
{ 
    string errorType = firstElement.Attribute("type").Value; 
    string message = firstElement.Value; 
    // Process error 
} 
else 
{ 
    // It is an info 
} 
+0

非常感谢。 – Jt2ouan

1

可以使用后代( “ERROR”)FirstOrDefault(),并检查了空。

+0

XElement doc = XElement.Parse(returnResponseUpdate); XElement error = doc.Descendants(“ERROR”)。FirstOrDefault(); if(error!= null) { } – Jt2ouan