【发布时间】:2012-02-24 02:40:13
【问题描述】:
我正在调用一个函数,该函数返回一个包含 XML 数据的字符串。这个函数如何工作并不重要,但是根据函数的成功,生成的 xml 可能会有所不同。
基本上,该函数将返回期望的 XML 或错误格式的 XML。以下是这两个结果的基本示例...
成功时:
<SpecificResult>
<Something>data</Something>
</SpecificResult>
出错时:
<ErrorResult>
<ErrorCode>1</ErrorCode>
<ErrorMessage>An Error</ErrorMessage>
</ErrorResult>
我的系统设置方式是我可以使用简单的转换器函数将 xml 字符串转换为类,但这需要我知道类类型。成功后,我会知道它是 SpecificResult 并且我可以转换。但是我想先检查一下是否发生了错误。
理想的最终结果将允许类似的事情......
string xml = GetXML();
if(!IsError(xml))
{
//convert to known type and process
}
那么问题是,实现IsError 函数的最佳方式是什么?
我已经想到了几个选项,但不确定我是否真的喜欢其中任何一个......
- 检查xml字符串是否包含
"<ErrorResult>" - 尝试将 xml 转换为 ErrorResult 类并检查是否失败
- 使用 XDocument 或类似的内置函数来解析树并搜索 ErrorResult 节点
【问题讨论】:
标签: c# xml validation