我生成了对此处提到的某个API的请求,用于发送短信http://help.voxeo.com/go/help/evolution.sms.postapi
请求生成XML响应,如下所示
<rsp stat="ok">
<success msg="accepted" transactionid="2e47fe224d25559a696a7bdddec1828b" messageid="cf0d21f067e5b386a2e042134687eb5c"/>
</rsp>
我想读一下如果rsp stat在响应中是好的还是失败我该怎么办呢。
这是前两行如何从响应流中获取特定的xml标记
HttpWebResponse response = (HttpWebResponse)myReq.GetResponse();
Stream content = response.GetResponseStream();
答案 0 :(得分:0)
为什么不使用XmlDocument来解析XML。例如,
using(var reader = new StreamReader(content))
{
var doc = new XmlDocument();
doc.LoadXml(reader.ReadToEnd());
// you may want to compare case in-sensitive
if (doc.DocumentElement.Attributes["stat"].Value == "ok")
{
// success
}
}
(还有Load
方法可以直接从流加载,但我不确定它是否在开头需要xml声明)
另一个替代方法是使用XmlReader
,以防响应可能很长,并且您希望在可用时尽快解析初始位。
答案 1 :(得分:0)
尝试使用XmlTextReader
(http://msdn.microsoft.com/en-us/library/system.xml.xmltextreader%28v=vs.71%29.aspx)