/// <summary>
/// 将DataSet中的数据导出到XML文件中
/// </summary>
/// <param name="dsSet">要导出的DataSet</param>
/// <returns>返回1表示方法执行成功,否则返回为-1</returns>
public static int DataSetToXML(DataSet dsSet)
{
//判断当前返回的DataSet是否为空,为空则返回-1
if (dsSet == null) return -1;
//对XML文件进行必要的设置
XmlWriterSettings settings = null;
settings = new XmlWriterSettings();
if (settings == null) return -1;
//设置相关属性值
settings.Indent = true;
settings.NewLineOnAttributes = false;
//创建XML文件
XmlWriter writer = null;
writer = XmlWriter.Create(@"C:\Chinadomain.xml", settings);
if (writer == null) return -1;
//开始写文档
writer.WriteStartDocument();
//开始写标签
writer.WriteStartElement("China");
int i = 0, j = 0, k = 0;
//获取省级数据的动态数组
ArrayList provinceList = FindProvince(dsSet);
for (i = 0; i < provinceList.Count; i++)
{
int iCur = (int)provinceList[i];
writer.WriteStartElement("Province");
writer.WriteAttributeString("name", (String)dsSet.Tables[0].Rows[iCur].ItemArray[1]);
writer.WriteAttributeString("value", (String)dsSet.Tables[0].Rows[iCur].ItemArray[0]);
//查找当前省的所有地级市
ArrayList cityList = FindCity(dsSet, (String)dsSet.Tables[0].Rows[iCur].ItemArray[0]);
for (j = 0; j < cityList.Count; j++)
{
int jCur = (int)cityList[j];
writer.WriteStartElement("City");
writer.WriteAttributeString("name", (String)dsSet.Tables[0].Rows[jCur].ItemArray[1]);
writer.WriteAttributeString("value", (String)dsSet.Tables[0].Rows[jCur].ItemArray[0]);
//设置当前行的父行
dsSet.Tables[0].Rows[jCur].SetParentRow(dsSet.Tables[0].Rows[iCur]);
//查找当前地级市的所有县级市
ArrayList districtList = FindDistrict(dsSet, (String)dsSet.Tables[0].Rows[jCur].ItemArray[0]);
for (k = 0; k < districtList.Count; k++)
{
int kCur = (int)districtList[k];
writer.WriteStartElement("District");
writer.WriteAttributeString("name", (String)dsSet.Tables[0].Rows[kCur].ItemArray[1]);
writer.WriteAttributeString("value", (String)dsSet.Tables[0].Rows[kCur].ItemArray[0]);
//设置当前行的父行
|