我有一些从DB获取数据的存储过程。 我制作了一些数据访问层类来从sql db中获取数据 我有一些应该用这些数据填充的Xml文件。 我应该使用aspx页面在它们之间进行链接。 现在,我想知道如何从xml文件中读取aspx页面上的数据以将其发送到服务器,以及如何将数据从db写入xml文件。
我曾经使用过json,但有一种方法可以在不使用json和amp;的情况下发送和接收数据。只是使用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。那有什么方法可以做到吗?
答案 0 :(得分: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();
}
希望这会有所帮助。