XmlDocument xml = new XmlDocument();
xml.Load(Way);//获取相对路径
var Exports = xml.GetElementsByTagName("Export");//获取所有Export节点
var WorkSheets = xml.GetElementsByTagName("WorkSheet");//获取所有WorkSheet节点
for (int i = 0; i < Exports.Count; i++)
{
if (Exports[i].Attributes["type"].InnerText == "AMeterCostAnnual_Scale")//匹配type属性的的节点
{
Exports[i].Attributes["FileName"].InnerText = SYear + "至" + EYear + "年水电费同比环统计.xls";//修改文件名
}
if (WorkSheets[i].Attributes["SqlId"].InnerText == "Business.AMeterCostAnnual")//匹配SqlId属性的节点
{
XmlNode root = xml.GetElementsByTagName("WorkSheet")[i];//获取要修改的WorkSheet节点
for (int j = 0; j < dt.Columns.Count; j++)
{
string Name = dt.Columns[j].ColumnName;
string Num = Convert.ToChar('A' + j).ToString();
string Title = string.Empty;
string status = string.Empty;
if (j == 0)
{
int ChildNum = root.ChildNodes.Count;
for (int k = 0; k < ChildNum; k++)//第一次进入,循环移除所有子节点、属性
{
root.RemoveChild(root.FirstChild);
}

Title = "区域";//修改导出文件中的标题
}
else
{
status = Name.Substring(4, 1);
if (status == "P")
{
Title = Name.Substring(0, 4) + "年" + Action + "电费";

}
else
{
Title = Name.Substring(0, 4) + "年" + Action + "同比增幅";
}
}

XmlElement elem = xml.CreateElement("Column");
elem.AddAttriubte("ConvertType", "Normal");//设置属性
elem.AddAttriubte("Required", "true");
elem.AddAttriubte("ColumnName", Num);
elem.AddAttriubte("ColumnTitleName", Title);
elem.AddAttriubte("Type", "System.String");
elem.AddAttriubte("DefaultValue", "");
elem.AddAttriubte("Field", Name);
root.AppendChild(elem);
}

}
}

xml.Save(Way);

对XML文件进行的修改的更多相关文章

  1. java操作xml文件--修改节点

          上一篇文章我介绍了SAX方法解析XML文件的过程,这篇文章讲解的内容是利用DOM方法修改XML文件的节点内容.       下面依然是首先贴出XML文件: <?xml version ...

  2. eclipse配置tomcat后修改server.xml文件(如编码等)无效问题

    我们用eclipse配置好tomcat后,在处理中文乱码或是配置数据源时,我们要修改Tomcat下的server.xml等文件. 修改后重启Tomcat服务器时发现xml文件又被还原了. 因为Tomc ...

  3. 【Android】XML文件的解析

    1.首先我们可以在res包路径下创建一个raw包,然后在raw下创建一个email.xml 文件,并修改其内容如下: <?xml version="1.0" encoding ...

  4. Java--Dom解析XML文件

          之前写过几篇关于Java中解析XML文件的方法,不过,感觉不够简单,今天重写了一遍代码,用到的是方法是Dom,其中加入了日志记录功能--Log4j.       好了,不多说了,先把XMl ...

  5. 在android工程中,res目录下又有anim、drawable、layout、menu、raw、values和xml文件夹,分别用来保存?

    res目录主要是存放资源文件的!layout 布局 这个就是你经常看到的与用户交互的界面的 xml 文件,就是各个 view 的排列和嵌套,没什 么好说的啦 风格和主题. 风格主要是指 view 的显 ...

  6. selenium-python读取XML文件

    首先这是我们要读取的XML文件 <?xml version="1.0" encoding="utf-8" ?><info> <ba ...

  7. Android开发,布局xml文件命名注意事项——不能包含任何大写字母

    转自:http://blog.sina.com.cn/s/blog_628b45090100zuit.html 在开发Android应用时,会接触到布局文件,一般在 工程名/res/layout/*. ...

  8. maven设置------settings.xml文件学习

    https://blog.csdn.net/tomato__/article/details/13025187 快速预览 maven的配置文件为settings.xml,在下面路径中可以找到这个文件, ...

  9. 解决idea创建ssm项目找不到mybatis的mapper的xml文件问题

    http://blog.csdn.net/v19freedom/article/details/69855302 后来上网搜了下,别人给出的答复 idea在build工程的时候 遇到maven项目 使 ...

随机推荐

  1. Uva796 Critical Links

    用tarjan缩点 然后用dfn[u] < low[v]缩点并且保存起来 在sort一遍输出 #include<stdio.h> #include<string.h> # ...

  2. 【模板】ac自动机

    本来是真的特别不想写这个的 但是有段时间洛谷天天智推这个可能是我太菜了 然后觉得这个也不难 乘着今早没事写下 来这保存下 方便下次食用 #include <bits/stdc++.h> u ...

  3. poj1193 内存分配

    气死我了...这个毒瘤内存分配..... 优先队列 + 链表模拟,看起来搞一搞就好了却WA来WA去... 最后对拍手动找才发现错误: erase的时候不要急急忙忙插入wait!要把同一时期的erase ...

  4. 洛谷T31039 九尾狐吃棉花糖

    小伙伴出的题. 一眼看出是状压DP裸题.回忆poj2288 islands and bridges,然后就很好写了. 啪啪啪打了个状压DP出来(晚上寝室写的,其实是记忆化搜索),发现sum总是INF ...

  5. PHP和PHP-FPM 配置文件优化

    前言:乘着这次空闲,来记录下关于PHP和PHP-FPM配置文件的优化,也方便以后自己复习. 先说PHP的 1.PHP脚本执行时间 max_execution_time = 30 该选项设定PHP程序的 ...

  6. 关于递推算法求解约瑟夫环问题P(n,m,k,s)

    一. 问题描述 已知n个人,分别以编号1,2,3,...,n表示,围坐在一张圆桌周围.从编号为k的人开始报数1,数到m的那个人出列:他的下一个人又从1开始报数,数到m的那个人又出列:依此规律重复下去, ...

  7. 转:upload.parseRequest为空

    上传是items一直是空list.导致原因是struts2把原始的原来S2为简化上传功能,把所有的enctype="multipart/form-data"表单做了wrapper最 ...

  8. (二叉树 bfs) leetcode 199. Binary Tree Right Side View

    Given a binary tree, imagine yourself standing on the right side of it, return the values of the nod ...

  9. python3: 爬虫---- urllib, beautifulsoup

    最近晚上学习爬虫,首先从基本的开始: python3 将urllib,urllib2集成到urllib中了, urllib可以对指定的网页进行请求下载,  beautifulsoup 可以从杂乱的ht ...

  10. java将long数据转为int类型的方法

    二.调用intValue()方法 [java] long ll = 300000; int ii= new Long(ll).intValue(); 三.先把long转换成字符串String,然后在转 ...