#region 读取xml
//获取项目中文件
string WantedPath = System.Windows.Forms.Application.StartupPath.Substring(0, System.Windows.Forms.Application.StartupPath.LastIndexOf(@"\"));
string path2 = System.IO.Path.GetDirectoryName(WantedPath);
path2 = path2 + @"\xml\其他费用表(表四).xml";
try
{
string name = "安装工程部分汇总表(表二甲)";
SaveFileDialog saveFile = new SaveFileDialog();
saveFile.Filter = "xml files (*.xml)|*.xml|All files (*.*)|*.*";// "Excel 文件(*.xls)|*.xls|Excel 文件(*.xlsx)|*.xlsx|所有文件(*.*)|*.*";//设置文件类型 // "*.xml|*.xml";
saveFile.Title = "导出数据";//设置标题
string FileName = "";
saveFile.AddExtension = true;//是否自动增加所辍名
saveFile.AutoUpgradeEnabled = true;//是否随系统升级而升级外观
saveFile.FileName = name;// string.Format("{0}调差系数模板", BindEngineeringFile.EgInformation.EngineeringName);
if (saveFile.ShowDialog() == System.Windows.Forms.DialogResult.OK)//如果点的是确定就得到文件路径
{
FileName = saveFile.FileName;//得到文件路径
}
//string fileName = EgBaseInfomationUtil.Down_SelectFile(name);
// if (string.IsNullOrWhiteSpace(fileName)) { MessageBox.Show("请选择要导出的位置"); return; }
if (string.IsNullOrWhiteSpace(FileName)) { return; }
//创建XmlDocument对象
XmlDocument xmlDoc = new XmlDocument();
//XML的声明<?xml version="1.0" encoding="gb2312"?>
XmlDeclaration xmlSM = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", null);
//追加xmldecl位置
xmlDoc.AppendChild(xmlSM);
//添加一个名为Document的根节点
XmlElement xml = xmlDoc.CreateElement("", "Document", "");
//追加Document的根节点位置
xmlDoc.AppendChild(xml);
//添加另一个节点,与Document所匹配,查找<Document>
XmlNode gen = xmlDoc.SelectSingleNode("Document");
//添加一个名为<DataTable>的节点
XmlElement zi = xmlDoc.CreateElement("DataTable");
//添加到<Document>节点中
gen.AppendChild(zi);
//为<DataTable>节点的属性
zi.SetAttribute("Format", "数据表");
zi.SetAttribute("报表名", name);
XmlNode zi1 = gen.SelectSingleNode("DataTable");
//添加一个名为<TH>的节点
XmlElement TH = xmlDoc.CreateElement("TH");
zi1.AppendChild(TH);
XmlNode TH1 = zi1.SelectSingleNode("TH");
#region 添加名为<FIELD>的节点
XmlDocument doc = new XmlDocument();
doc.Load(path2);
XmlNodeList nodelist = doc.SelectSingleNode("//DataTable//TH").ChildNodes;
foreach (XmlNode nod in nodelist)
{
XmlElement xe = (XmlElement)nod;
XmlElement FIELD = xmlDoc.CreateElement("FIELD");
TH1.AppendChild(FIELD);
foreach (XmlAttribute att in xe.Attributes)
{ // 循环读取每个属性
FIELD.SetAttribute(att.Name, att.Value);
}
}
#endregion
//添加一个名为<TRS>的节点
XmlElement TRS = xmlDoc.CreateElement("TRS");
zi1.AppendChild(TRS);
XmlNode TRS1 = zi1.SelectSingleNode("TRS");
//添加一个名为<Rd>的节点
XmlElement Rd = xmlDoc.CreateElement("Rd");
TRS1.AppendChild(Rd);
for (int i = 0; i < nodelist.Count; i++)
{
Rd.SetAttribute("I"+i, "");
}
//XmlNode rd1 = TRS1.SelectSingleNode("Rd");
//XmlNodeList nodeList = xmlDoc.SelectSingleNode("TRS").ChildNodes;//获取bookstore节点的所有子节点
//foreach (XmlNode xn in nodeList)//遍历所有子节点
//{
// XmlElement xe = (XmlElement)xn;//将子节点类型转换为XmlElement类型
// xe.SetAttribute("name", "发明");
//}
//Rd.SetAttribute("I0", "0");
//Rd.SetAttribute("I1", "1");
//Rd.SetAttribute("I2", "2");
//Rd.SetAttribute("I3", "3");
//Rd.SetAttribute("I4", "4");
//Rd.SetAttribute("I5", "5");
//Rd.SetAttribute("I6", "6");
//Rd.SetAttribute("I7", "7");
//Rd.SetAttribute("I8", "8");
//Rd.SetAttribute("I9", "9");
//Rd.SetAttribute("I10", "10");
//保存好创建的XML文档
xmlDoc.Save(FileName);
System.Windows.Forms.MessageBox.Show("导出完成");
}
catch (Exception ex)
{
}
#endregion
xml
最新推荐文章于 2024-08-08 14:14:22 发布