我正在尝试解析从服务返回的以下XML字符串。
DataReference.USZipSoapClient blah = new DataReference.USZipSoapClient("USZipSoap");
var results = blah.GetInfoByCity(tbCityName.Text).OuterXml;
返回以下内容
<NewDataSet xmlns=""><Table><CITY>Marana</CITY><STATE>AZ</STATE><ZIP>85653</ZIP><AREA_CODE>520</AREA_CODE><TIME_ZONE>M</TIME_ZONE></Table></NewDataSet>
我没有运气解析数据:
我只想显示 City = Marana,State = AZ 等结果。
感谢任何帮助。
答案 0 :(得分:0)
为什么不使用XPath?
select *from #DD where DATEDIFF(D,ResponseBegin,ResponseEnd)>=2
答案 1 :(得分:0)
您可以创建序列化对象,然后序列化针对该对象获取的数据,我使用http://xmltocsharp.azurewebsites.net/生成以下xml对象:
[XmlRoot(ElementName="Table")]
public class Table {
[XmlElement(ElementName="CITY")]
public string CITY { get; set; }
[XmlElement(ElementName="STATE")]
public string STATE { get; set; }
[XmlElement(ElementName="ZIP")]
public string ZIP { get; set; }
[XmlElement(ElementName="AREA_CODE")]
public string AREA_CODE { get; set; }
[XmlElement(ElementName="TIME_ZONE")]
public string TIME_ZONE { get; set; }
}
[XmlRoot(ElementName="NewDataSet")]
public class NewDataSet {
[XmlElement(ElementName="Table")]
public Table Table { get; set; }
[XmlAttribute(AttributeName="xmlns")]
public string Xmlns { get; set; }
}
然后只需使用.net XML序列化程序将其强制转换为该对象并在代码中使用它。
答案 2 :(得分:0)
如果您只需要一个字符串进行目视检查,第一步可能是使用以下代码将XMl转换为JSON: http://techhasnoboundary.blogspot.no/2011/08/convert-xml-to-json-using-c.html
然后你可以继续删除大括号,用换行符替换逗号,用等号替换冒号。