0

我生成对此处提到的用于发送短信的某个 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();
4

2 回答 2

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以防响应可能很长,并且您希望尽快解析初始位。

于 2013-01-15T09:25:26.227 回答
0

尝试阅读XmlTextReaderhttp://msdn.microsoft.com/en-us/library/system.xml.xmltextreader%28v=vs.71%29.aspx

于 2013-01-15T09:33:53.793 回答