-1

我有将 XML 发布到 WebResponse 并获取 Xml 数据的输出/响应的代码。如果它们在发布时出错,则会导致 XML 输出响应如下:

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

如果遇到错误,第一个元素将为“ERROR”,如果没有遇到错误,则第一个元素将为“INFO”。他们是否可以检查 webResponse XML 的第一个元素是否为“错误”,如果是,则获取标签内的类型属性和文本“无效数据”。如果不是错误,则什么也不做。不确定如何在解析 xml 数据时执行 if。

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

2 回答 2

1

您可以使用 Descendants("ERROR").FirstOrDefault() 并检查它是否为空。

于 2013-01-25T00:21:58.663 回答
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
}
于 2013-01-25T00:21:14.717 回答