我在理解上遇到了问题,如何从XML读取数据。 XML看起来像这样:
<PosXML version="7.2.0">
<ReadCardResponse>
<ReturnCode>1</ReturnCode>
<Card>
<Pan>222300******5062</Pan>
<Expires>****</Expires>
<CardName>MASTERCARD</CardName>
<CardSource>2</CardSource>
</Card>
</ReadCardResponse>
</PosXML>
我已从流中加载XML:
XDocument doc;
using (Stream responseStream = httpResponse.GetResponseStream())
{
doc= XDocument.Load(responseStream);
}
试过这个,但它不起作用:
XElement returnCode = doc.XPathSelectElement("ReturnCode")
答案 0 :(得分:3)
var returnCode = doc.XPathSelectElement(@"PosXML/ReadCardResponse/ReturnCode");
您需要使用元素的完整路径
答案 1 :(得分:1)
尝试:
XElement returnCode = doc.Element("ReadCardResponse").Element("ReturnCode")
您还可以通过XPath
,nodes
或某些linq
查询来访问元素。尝试使用IDE的intellisense