XML转换为动态对象在C# [英] Convert xml to dynamic object in C#

查看:175
本文介绍了XML转换为动态对象在C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的web应用程序,我得到结果为XML时Web浏览器这样的显示器

in my web application, i get result as xml when display on web browser like this

<Responses>
<Response0>
    <Action>sendMessage</Action>
    <Data>
        <AcceptReport>
            <StatusCode>0</StatusCode>
            <StatusText>Message accepted for delivery</StatusText>
            <MessageID>89c8011c-e291-44c3-ac72-cd35c76cb29d</MessageID>
            <Recipient>+85568922903</Recipient>
        </AcceptReport>
    </Data>
</Response0>
</Responses>

我想上面的XML文件显示为类似下面的文字:

i want above XML file display as text like below:

Message accepted for delivery
Message ID: IEUHSHIL
Recipient: +441234567

我如何转换XML文件上面的文字?

how can i convert xml file to text above?

推荐答案

修改

来源$ C ​​$ C

XDocument doc = XDocument.Parse("<Responses> <Response0>     <Action>sendMessage</Action>     <Data>         <AcceptReport>             <StatusCode>0</StatusCode>             <StatusText>Message accepted for delivery</StatusText>             <MessageID>89c8011c-e291-44c3-ac72-cd35c76cb29d</MessageID>             <Recipient>+85568922903</Recipient>         </AcceptReport>     </Data> </Response0> </Responses> ");

var message = from item in doc.Descendants("AcceptReport")
               select new { 
                    StatusText = item.Element("StatusText").Value,
                    MessageID = item.Element("MessageID").Value,
                    Recipient = item.Element("Recipient").Value 
               };
foreach (var el in message)
{
    Console.WriteLine(el.MessageID + " " +el.Recipient + " " + el.StatusText);
}

注意:使用 XDocument.Parse 如果你正在传递字符串,而不是XML文件中的

Note : make use of XDocument.Parse if you are passing string instead of xml file.

简单的方法来做到这一点使用的LINQ到XML

Easy way to do it make use of Linq To XML.

检查那边: 阅读使用LINQ to XML的XML文档

Check over there : Reading XML documents using LINQ to XML

不知道,但像这样

var message=  
              from item in XElement.Load("message.xml").Descendants("Data") 
                 select new
                 {
                      StatusText= item.Element("StatusText").Value,
                      MessageID= item.Element("MessageID").Value,
                      Recipient= item.Element("Recipient").Value
                  };

这篇关于XML转换为动态对象在C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆