【问题标题】:How to write data to xml from database using aspx pages?如何使用 aspx 页面将数据从数据库写入 xml?
【发布时间】:2012-09-30 01:58:51
【问题描述】:

我有一些从数据库获取数据的存储过程。 我做了一些数据访问层类来从 sql db 中获取数据 我有一些 Xml 文件应该用这些数据填充。 我应该使用 aspx 页面在它们之间进行链接。 现在,我想知道如何从 xml 文件中读取 aspx 页面上的数据以将其发送到服务器,以及如何将 db 中的数据写入 xml 文件。

我曾经使用过 json,但是有没有一种方法可以让我在不使用 json 而只使用 XML 的情况下发送和接收数据?

这是我的 XML 文件:

<allNews>
<news>
    <gNews>
        <flag>List of categories IDs this article linked to</flag>
        <title>news title goes here</title>
        <description>news description goes here</description>
        <date>news date goes here</date>
    </gNews>
</news> 

这是从数据库中检索列表的函数:

XDataContext XDB = new XDataContext();

    public getCategoryContentListResult GetCategoryContentList(int contentID)
    {
        return XDB.getCategoryContentList(contentID).SingleOrDefault<getCategoryContentListResult>();
    }

我想知道如何使用 aspx 连接这两个文件。

当我使用 Json 时,我曾经这样做过:[我从 javascript 文件的 ajax 调用中读取数据)

        private getCategoryContentListResult GetCategoryList()
        {     
              int ContentID = int.parse(Request.QueryString["country"]);     
              int res = getCategoryContentListResult(ContentID);
              JsonResponse = JsonConvert.SerializeObject(res);
        }
        Response.Clear();
        Response.ContentType = "application/json";
        Response.ContentEncoding = System.Text.Encoding.UTF8;
        Response.Write(Request.QueryString["jsoncallback"] + "(" + JsonResponse + ");");
        Response.End(); 

现在我不能使用 Json,我只需要使用 XML。那么有什么方法可以做到吗?

【问题讨论】:

  • 你试过什么?我真的不明白你想要完成什么......“写入XML文件”,就像写入本地文件系统上的文件一样? “它们之间使用aspx页面链接”,这是什么意思,那句话中的链接怎么定义?
  • “在 aspx 页面读取数据”是什么意思?你想从本地文件系统中读取一个 xml 文件吗? “读取数据并将其发送到服务器”是什么意思,你能提供一个你想要做什么的例子吗?
  • 您想下载文件到客户端电脑吗?就像在 XML 文件中一样,应该按原样输出给请求的客户端,类似于下载文件?
  • 您有一个 Web 服务器,据我了解,它具有从数据库生成的 XML 文件。此 XML 文件,您是否希望 客户端(如在从 Web 服务器请求页面的计算机中)按原样查看此 XML 文件?因此,您键入example.com/request.aspx 并在页面中看到 XML 代码作为内容。
  • 我无法理解您的问题,抱歉。如果您可以提供一个您期望的输出示例以及输出应该去哪里,那将会有所帮助。它应该保存到服务器文件系统,作为对请求页面的客户端的响应,还是保存到数据库? “XML文件与javascript页面相关联”是什么意思,特别是因为Javascript不是页面..? “数据来自以 XML 格式存储的 HTML 页面”是什么意思?那是什么数据,html页面是怎么存储在xml中的?

标签: c# asp.net .net xml xmlhttprequest


【解决方案1】:

尝试相应地修改下面的代码

protected void Page_Load(object sender, EventArgs e)
    {
        XmlTextWriter writer = new XmlTextWriter("your.xml", System.Text.Encoding.UTF8);
        writer.WriteStartDocument(true);
        writer.Formatting = Formatting.Indented;
        writer.Indentation = 2;
        writer.WriteStartElement("AllNews");
        writer.WriteStartElement("News");
        //Loopthrough your dataset/datatable/Or datareader here
        //Call the CreateNode Method from here 
        //End of loop
        writer.WriteEndElement();
        writer.WriteEndElement();
        writer.WriteEndDocument();
        writer.Close();



    }

    private void createNode(string flag, string title, string desc, string date, XmlTextWriter writer)
    {
        writer.WriteStartElement("GNEWS");
        writer.WriteStartElement("flag");
        writer.WriteString(flag);
        writer.WriteEndElement();
        writer.WriteStartElement("title");
        writer.WriteString(title);
        writer.WriteEndElement();
        writer.WriteStartElement("description");
        writer.WriteString(desc);
        writer.WriteStartElement("date");
        writer.WriteString(date);
        writer.WriteEndElement();
        writer.WriteEndElement();
    }

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-24
    • 1970-01-01
    • 2016-11-09
    • 1970-01-01
    • 1970-01-01
    • 2012-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多