c#从XML读取数据

时间:2018-04-23 09:32:19

标签: c# xml linq-to-xml

我在理解上遇到了问题,如何从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")

2 个答案:

答案 0 :(得分:3)

var returnCode = doc.XPathSelectElement(@"PosXML/ReadCardResponse/ReturnCode");

您需要使用元素的完整路径

答案 1 :(得分:1)

尝试:

XElement returnCode = doc.Element("ReadCardResponse").Element("ReturnCode")

您还可以通过XPathnodes或某些linq查询来访问元素。尝试使用IDE的intellisense