如何在asp.net中的XMl foramte中在网页上编写数据表内容?

时间:2011-03-18 08:31:05

标签: asp.net xml

如何在asp.net中的XMl foramte中在网页上编写可数据表内容? 我还需要在写入网页之前自定义数据表。 编辑: -

 protected void Page_Load(object sender, EventArgs e)
    {
        Response.ContentType = "text/xml";
        DataTable dt = new DataTable("XML");
        String email = EmailAddress.Text.ToString();
        dt.Load(obj.GetXML("XYZ@gmail.com"));
//now i want this dt to dosplayed in the XMl form on the same page, how can i achieve this?
        'XmlDocument xml = new XmlDocument();
        'XmlTextReader xr=new XmlTextReader( 
        'WriteGoogleMap(dt.ToString(), Response.OutputStream);
        'Response.End();
        //System.Xml.
    }

2 个答案:

答案 0 :(得分:1)

DataTable的方法名为:

WriteXml

答案 1 :(得分:1)

试试这个:

    public string GetXml(string urlBase)
    {
        XmlWriterSettings settings = new XmlWriterSettings();
        settings.Encoding = Encoding.UTF8;
        settings.Indent = true;
        StringBuilder output = new StringBuilder();
        using (XmlWriter writer = XmlWriter.Create(output, settings))
        {
            writer.WriteStartDocument();
            writer.WriteStartElement("urlset", "http://www.sitemaps.org/schemas/sitemap/0.9");

            // Repeat this code:
            writer.WriteStartElement("url");
            writer.WriteElementString("loc", "[your url]");
            writer.WriteEndElement();

            writer.WriteEndElement();
            writer.WriteEndDocument();
        }

        return output.ToString();
    }

然后使用结果来提供标签:

<script runat="server" type=text/C#>
    protected void Page_Load(object sender, EventArgs e)
    {
        myLabel.Text = HttpUtility.HtmlEncode(
            GetXml("http://www.dotnetperls.com/")    
        );
    }
</script>

[编辑] 我想你应该从头开始。不要在单个问题中混合所有概念。花时间学习基础知识(阅读书籍,参加课程等)。在您的具体情况下,我建议您将工作分成几个层次:

  • 负责构建数据表的数据层
  • 业务或服务层,能够从数据库
  • 创建xml文档
  • 将包含以下内容的表示层:
    • 将返回xml
    • 的自定义http处理程序(.ashx)
    • 可以显示Xml
    • 的html表示的可视化页面
祝你好运