xml

        #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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值