如何在C#中使用多个节点解析此XML字符串?

时间:2013-10-24 22:05:32

标签: c# asp.net xml parsing

我使用WebRequest提交数据,我收到以下WebResponse:

<tss_loan_response>
    <signature>
        <data name="page">app_completed</data> 
        <data name="site_type">soap_pw</data> 
        <data name="license_key">lic.olp.bb.sample</data> 
        <data name="promo_id">99999</data> 
        <data name="promo_sub_code">test</data> 
        <data name="unique_id">b315782da42f23edec5c32adfe39a457</data> 
        <data name="environment">testing</data> 
    </signature>
    <errors /> 
        <content>
            <section>
                <url>https://rcredirect.tridentsecuredata.com/b315782da42f23edec5c32adfe39a457</url> 
            </section>
        </content>
    <collection>
        <data name="client_url_root">SAMPLE.COM</data> 
        <data name="client_ip_address">127.0.0.1</data> 
        <data name="customer_id">D6FC0D89-8741-484D-9E76-3E8264702059</data> 
    </collection>
</tss_loan_response>

获得响应后,我想将每个XML标记/行的值设置为变量(因此我可以在读完文件后使用它们)。

我一直在尝试一切,似乎无法让它发挥作用。有什么想法吗?

我正在使用ASP.NET和C#。

1 个答案:

答案 0 :(得分:0)

这就是我为了让它发挥作用所做的事情:

var signatureElement = XElement.Parse(responseFromServer).Descendants("signature")
                            .Elements()
                            .ToDictionary(r => r.Attribute("name").Value,
                                         r => r.Value);

string pageXML = signatureElement.FirstOrDefault(p => p.Key == "page").Value;