不能被函数调用是什么意思?你的函数呢?函数不写出来怎么帮你看?
我这个是假设你的到了XmlFiles/StuElements.xml,你不是已经通过File.CreateText(stuFileName)创建了该文件了吗?
我建议你直接DataSet1.WriteXml(filepath);这种方式直接把DataSet生成xml文件
string strFilePath = Server.MapPath ( "XmlFiles/StuElements.xml" );
System.Xml.XmlDocument xmlDocument = new System.Xml.XmlDocument ( );
xmlDocument.Load ( strFilePath );
System.Xml.XmlElement xmlElement = xmlDocument.DocumentElement;
foreach ( System.Xml.XmlNode node in xmlElement.ChildNodes )
{
Response.Write ( "lat: " + node [ "lat" ].InnerText + ", lng: " + node [ "lng" ].InnerText + "
" );
}
//修改后的
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection("Data Source=.;Initial Catalog=Pubs;Integrated Security=True;");
System.Data.SqlClient.SqlDataAdapter da = new System.Data.SqlClient.SqlDataAdapter("Select * from Authors", conn);
System.Data.DataSet ds = new System.Data.DataSet();
conn.Open();
da.Fill(ds, "Authors");
System.Data.DataTable dt;
dt = ds.Tables["Authors"];
foreach (System.Data.DataColumn dc in dt.Columns)
{
dc.ColumnMapping = System.Data.MappingType.Attribute;
}
string filePath = Server.MapPath("XmlFiles/Stu.xml");
ds.WriteXml(filePath);
System.Xml.XmlDocument xmlDocument = new System.Xml.XmlDocument();
xmlDocument.Load(filePath);
System.Xml.XmlNodeList Authors= xmlDocument.GetElementsByTagName("Author");
foreach (System.Xml.XmlNode node in Authors)
{
Response.Write("FirstName:" + node.Attributes["FirstName"].Value + "
");
}
XmlElement如果不熟悉的话操作起来可能是有点麻烦,如果不会做的话可以使用StreamReader和StreamWriter来操作,可以把XMl文件就直接当做文本文件操作,想怎么改怎么改。但是格式要争取,免得读取xml的时候出现问题。
我曾经就是直接用这种方法做的。