比如我有2张表head和list.
head表里有几个字段,list表里有几个字段。现在我要通过程序生成一个XML文件
生成的XML文件要是这样的形式: <declaration>
<head>
<name>hhh</name>
<sex>boy</sex>
<birth>123</birth>
</head>
<list>
<school>xx</school>
<city></city>
</list>
</declaration>不通过查询语句,存储过程等数据库操作
而是要通过写节点的方式生成XML,并且是多张表里结合的数据
请那位大虾给个简单的CODE提供参考,不胜感激。
head表里有几个字段,list表里有几个字段。现在我要通过程序生成一个XML文件
生成的XML文件要是这样的形式: <declaration>
<head>
<name>hhh</name>
<sex>boy</sex>
<birth>123</birth>
</head>
<list>
<school>xx</school>
<city></city>
</list>
</declaration>不通过查询语句,存储过程等数据库操作
而是要通过写节点的方式生成XML,并且是多张表里结合的数据
请那位大虾给个简单的CODE提供参考,不胜感激。
解决方案 »
- wpf 自定义控件 事件触发
- 新手求指教,程序与程序之间的问题(WinFrom)
- c#使用SmtpMail发送一封邮件给多个邮件地址,其中有一个邮件地址不正确,则所有邮件都无法收到怎么回事 如果邮件地址都正确,则可以发
- 从数据库读出某列数据做为一个数组,并向控件填充数组,如何做?
- VC写的activeX控件可以c#中使用吗?
- 3Dmax前景
- C#如何修改注册项默认值
- 如何用正则表达式清除HTML源代码中的脚本,即所有<script>...</script>内容
- 再次提问.如何吧字符串转换成Cookie或者CookieCollection或者CookieContainer??
- 100分求一个解决方案,怎样在没有Framework的机器上发布.net程序, 将整个Framework打包太大了
- 编译不可通过?short s1 = 1;short s2 = 2;short s3 = s1 + s2; why??
- 一段代码查询数据库的问题
2个表加入dataset然后用
dataset.writexml()
private void button1_Click(object sender, EventArgs e)
{
string conn = "Data Source=(Local); Initial Catalog=declaration; Integrated Security=SSPI"; SqlConnection sqlConnection = new SqlConnection(conn); string strSql; string strSql1; strSql = "select * from tbDeclare_head where InOutNumber = "+" '"+this.textBox1.Text+"' "; strSql1 = "select * from tbDeclare_list where InOutNumber ="+" '"+this.textBox1.Text+"' "; SqlCommand sqlCommand = new SqlCommand(strSql, sqlConnection); SqlCommand sqlCommand1 = new SqlCommand(strSql1,sqlConnection); SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sqlCommand); SqlDataAdapter sqlDataAdapter1 = new SqlDataAdapter(sqlCommand1); DataSet dataSet = new DataSet(); sqlDataAdapter.Fill(dataSet,"tbDeclare_head"); sqlDataAdapter1.Fill(dataSet,"tbDeclare_list"); string fileName = "H2000.xml"; FileStream fileStream = new FileStream(fileName,FileMode.Create); XmlTextWriter writer = new XmlTextWriter(fileStream,Encoding.UTF8); //声明XML版本号
writer.WriteStartDocument(); //定义根节点的名称
writer.WriteStartElement("declatation"); //创建head子节点
for (int i = 0; i < dataSet.Tables["tbDeclare_head"].Rows.Count; i++)
{
DataRow dataRow = dataSet.Tables["tbDeclare_head"].Rows[i]; writer.WriteStartElement("head"); for (int j = 0; j < dataSet.Tables["tbDeclare_head"].Columns.Count - 5; j++)//不需要的可以去掉这些节点
{
writer.WriteElementString(dataSet.Tables["tbDeclare_head"].Columns[j].ToString(),dataRow[j].ToString());
}
writer.WriteEndElement();
}
//创建list子节点
for (int i = 0; i < dataSet.Tables["tbDeclare_list"].Rows.Count; i++)
{
DataRow dataRow = dataSet.Tables["tbDeclare_list"].Rows[i]; writer.WriteStartElement("list"); for (int j = 0; j < dataSet.Tables["tbDeclare_list"].Columns.Count - 5; j++)
{
writer.WriteElementString(dataSet.Tables["tbDeclare_list"].Columns[j].ToString(),dataRow[j].ToString());
}
writer.WriteEndElement();
}
this.dataGridView1.DataSource = dataSet.Tables["tbDeclare_head"]; this.dataGridView2.DataSource = dataSet.Tables["tbDeclare_list"]; writer.Close(); sqlConnection.Close();
}