// 如果下面的方法不起作用的话 就把你的 前台页面 除了声明行,都给他注释掉 只留下 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="EarMarkWeb.Test" %>,就可以看到想要的效果了
public string WriteXml(string EarmarkCode, string MAC, string AppSystemName, string QueryUserName, string QueryUserOrg)
{
Response.AddHeader("Accept-Charset", "UTF-8");
Response.AddHeader("Content-type", "text/xml");
Response.AddHeader("contentType", "utf-8"); string strXml = @"<?xml version='1.0'?><PREVENTIONINFO/>"; //XML格式标头
DataTable dt = new DataTable();
dt = GetEarmarkInjectMessage(EarmarkCode).Tables[0];
XmlDocument doc = new XmlDocument();
doc.LoadXml(strXml);
XmlNode root = doc.SelectSingleNode("//PREVENTIONINFO"); // 声明根节点
foreach (DataRow row in dt.Rows) // 循环取得节点名称和节点的文本值
{
XmlElement inject = doc.CreateElement("节点名"); // 子节点
XmlElement element = doc.CreateElement("节点名"); //定义节点名称
element.InnerText = row["字段名"].ToString(); // 指定相应的 字段值
inject.AppendChild(element);
element = doc.CreateElement("节点名");
element.InnerText = row["字段名"].ToString();
inject.AppendChild(element);
element = doc.CreateElement("节点名");
element.InnerText = row["字段名"].ToString();
inject.AppendChild(element);
element = doc.CreateElement("节点名");
element.InnerText = row["字段名"].ToString();
inject.AppendChild(element);
element = doc.CreateElement("节点名");
element.InnerText = row["字段名"].ToString();
inject.AppendChild(element); //把子节点 element 加入父节点 inject
root.AppendChild(inject); //把子节点 inject 加入根节点 root
}
doc.AppendChild(root);
return doc.OuterXml; // 返回文本值(outerXml 默认已经将XML格式的数据转化为文本了)
}
==============================================================================================
方法2:
{
string strXml = @"<?xml version='1.0'?><tagDataTable/>";//xml文件头部信息
XmlDocument doc = new XmlDocument();
doc.LoadXml(strXml);
XmlNode root = doc.SelectSingleNode("//tagDataTable");//找到根结点
for(int i=0;i<dt.Rows.Count;i++)
{
XmlElement xe = doc.CreateElement("Row");//二级子节点
XmlElement element = null;
//设置三级子节点
for(int j=0;j<dt.Columns.Count;j++)
{
element = doc.CreateElement(dt.Columns[j].ColumnName.Trim());
element.InnerText = dt.Rows[i][j].ToString().Trim();
xe.AppendChild(element);
}
root.AppendChild(xe);
}
return doc.OuterXml;
}