XmlTextWriter xtw = new XmlTextWriter("yourfilename", System.Text.Encoding.GetEncoding("GB2312"));
解决方案 »
- C#技术怎么给没有后缀名得文件设置打开方式啊?
- 服务器端如何监听所有socket连接请求
- toolStripSplitButton 问题
- 写一个记录系统日志类.要求可以选择记录不同级别的日志信息.
- 高分求Visual C#[1].net数据库开发经典案例解析源码(已经转成vs2005的)~~
- 初学者
- 最近用了几天时间做了一个资料管理程序,发上来看看。
- Socket 连FTP出现550错误
- 如何kill掉進程條中的excel.exe 在調用excel.application后留下的線程啊? 用GC.Collect()和Process.Kill()也不行,如何獲得線程中的excel
- 一个性价比极高的问题:等待高手来解答,up的也有分!
- 怎么用DateTime.Parse分析一个只有年月的字符串
- 请教高手,关于comboBox的简单问题
可以了,谢谢!
还有一个问题:我要使用ReadXml方法来读刚刚创建的Xml文件,然后把得来的DataSet邦定在一个DataGrid上,可是老是提示错误
怎么使用?
这个问题解决后,我再开贴给你分
XmlTextWriter xml = new XmlTextWriter(GetConfigFile(), GetEncoding("GB2312"));把错误代码贴出来。
DataSet ds = new DataSet();
ds.ReadXml(xmlfile);
return ds;
我的XML文件既有元素又有属性,它是怎么知道我的格式的?
错误发生在
ds.ReadXml(xmlfile);
这个语句中。
DataSet OriginalDataSet = new DataSet("myDataSet");
OriginalDataSet.Namespace= "NetFrameWork";
DataTable myTable = new DataTable("myTable");
DataColumn c1 = new DataColumn("id", Type.GetType("System.Int32"));
c1.AutoIncrement= true;
DataColumn c2 = new DataColumn("item");
myTable.Columns.Add(c1);
myTable.Columns.Add(c2);
OriginalDataSet.Tables.Add(myTable);
DataRow newRow;
for(int i = 0; i < 10; i++){
newRow = myTable.NewRow();
newRow["item"]= "item " + i;
myTable.Rows.Add(newRow);
}
OriginalDataSet.AcceptChanges();
string xmlFilename = "myXmlDocument.xml";
OriginalDataSet.WriteXml(xmlFilename);
OriginalDataSet.Dispose();
<?xml version="1.0" standalone="yes"?>
<myDataSet xmlns="NetFrameWork">
<myTable>
<id>0</id>
<item>item 0</item>
</myTable>
<myTable>
<id>1</id>
<item>item 1</item>
</myTable>
<myTable>
<id>2</id>
<item>item 2</item>
</myTable>
<myTable>
<id>3</id>
<item>item 3</item>
</myTable>
<myTable>
<id>4</id>
<item>item 4</item>
</myTable>
<myTable>
<id>5</id>
<item>item 5</item>
</myTable>
<myTable>
<id>6</id>
<item>item 6</item>
</myTable>
<myTable>
<id>7</id>
<item>item 7</item>
</myTable>
<myTable>
<id>8</id>
<item>item 8</item>
</myTable>
<myTable>
<id>9</id>
<item>item 9</item>
</myTable>
</myDataSet>
string XmlName = Server.MapPath(@"XmlFiles\" + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + ".xml");
XmlTextWriter writer = new XmlTextWriter(XmlName,System.Text.Encoding.GetEncoding("GB2312"));
writer.Formatting = Formatting.Indented;
writer.Indentation = 4; writer.WriteStartDocument(true);
writer.WriteStartElement("salarys");
string element = "";
for(int i=0;i<dt.Rows.Count;i++)
{
//元素名称用人员编号,第一个必须为人员编号
element = dt.Rows[i][0].ToString();
writer.WriteStartElement(element);
for(int j=1;j<dt.Columns.Count;j++)
{
writer.WriteAttributeString(dt.Columns[j].ColumnName.ToString(),dt.Rows[i][j].ToString());
}
writer.WriteEndElement();
}
writer.Close();然后我就用ReadXml来读,就是上面的代码。出错。
for(int i=0;i<dt.Rows.Count;i++)
{
//元素名称用人员编号,第一个必须为人员编号
writer.WriteStartElement(dt.TableName);
for(int j=0;j<dt.Columns.Count;j++)
{
writer.WriteStartElement(dt.Columns[j].ColumnName.ToString());
writer.WriteString(dt.Rows[i][j].ToString());
writer.WriteEndElement();
}
writer.WriteEndElement();
}