0

DBからデータを取得するストアドプロシージャがいくつかあります。SQLデータベースからデータを取得するためにいくつかのデータアクセス層クラスを作成しました。このデータで埋める必要のあるXmlファイルがいくつかあります。私はaspxページを使用してそれらの間をリンクすることになっています。ここで、aspxページのデータをxmlファイルから読み取ってサーバーに送信する方法と、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を使用してこれら2つのファイルを接続する方法を知りたいです。

私が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を使用するだけです。だからそれを行うためのいくつかの方法はありますか?

4

1 に答える 1

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();
    }

これがお役に立てば幸いです。

于 2012-11-06T05:31:44.120 に答える