繁体   English   中英

如何在网格中的 ascx 页面上显示 XML 字符串

[英]How to display XML string on the ascx page in a grid

我有一个 object,它获取了存储在数据库中的 xml 数据,比如 dataset.xmlcontent。 我想在 UI 上显示所有 xmlcontent,这是一个字符串,但由于数据中嵌入了 xml 标签,因此无法解析数据。

任何输入我应该如何进行?

model 中的代码在此处获取信息:

dataSet=orderRepo.GetOrderItemDatas().Where(o => orderItem.Contains(o.OrderItemId)).Select(o=>o).ToList();

dataSet.Xmlcontent 将 XML 数据存储为字符串,我试图在 UI 上显示它

ascx 页面中的代码:

            <tr>
                <th class="ui-state-default">TN</th>
                <th class="ui-state-default">Provisioning Data</th>
            </tr>
            <%
    if (Model.orderdataExist)
    {
        foreach (SomeObject detail in Model.dataSet)
        {
            %>
            <tr >
                <td><%= detail.TN %></td>
                <td><%= detail.Xmlcontent.ToString() %></td>

            </tr>
            <%
        }
    }
            %>

        </table> 

用户界面上的 output 是:

用户界面上的 XML 内容

如何解析此 XML 内容以显示在 UI 上?

放入数据表,然后您可以将表绑定到您的页面

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
using System.Data;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {

            string xmlResponseFromDb =  "<?xml version=\"1.0\"?>" +
                                            "<Table>" +
                                               "<DataRow>" +
                                                    "<TN>6462308635</TN>" +
                                                    "<Provision_Data>6462308635services_options_cosmo_callrecordingasc840</Provision_Data>" +
                                               "</DataRow>" +
                                               "<DataRow>" +
                                                    "<TN>6462308635</TN>" +
                                                    "<Provision_Data>6462308635services_options_cosmo_callrecordingascspeechanalytics840</Provision_Data>" +
                                               "</DataRow>" +
                                            "</Table>";

            XDocument doc = XDocument.Parse(xmlResponseFromDb);

            DataTable dt = new DataTable();
            dt.Columns.Add("TN", typeof(string));
            dt.Columns.Add("Provision_Data", typeof(string));

            foreach (XElement row in doc.Descendants("DataRow"))
            {
                dt.Rows.Add(new object[] { (string)row.Element("TN"), (string)row.Element("Provision_Data") });
            }

        }
    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM