XML常用操作
C#操作XML非常简单
一是写入:
生明一个xelment 再在它的父节点Add就可以,也可以用生明的节点.SetAttribute("节点名称","节点对应的值");
二是读取:
一样也是先生明再得到其子节点再
if (xe.Name == "Contrast")
if (xe.GetAttribute("IsSelect") == "true")
即再根据其节点名称 得节点,根据节点属性获取属性值。
/// <summary>
/// 写操作日志
/// </summary>
/// <param name="logInfo">要写入日志的内容</param>
/// <param name="flagOfResult">成功还是失败</param>
public static void WriteLog1(this string logInfo, int flagOfResult)
{
XmlDocument doc = new XmlDocument();
string path = System.Environment.CurrentDirectory + "\\Log.xml";
doc.Load(path);
//查找根节点
XmlNode root = doc.SelectSingleNode("Logs");
//创建一个DataInfos节点
XmlElement xe = doc.CreateElement("Log"); XmlElement operater = doc.CreateElement("操作人");
operater.InnerText = "Admin";
xe.AppendChild(operater);
XmlElement OprateResult = doc.CreateElement("结果");
OprateResult.InnerText = flagOfResult == ? "成功" : "失败";
xe.AppendChild(OprateResult);
XmlElement OprateMsg = doc.CreateElement("结果信息");
OprateMsg.InnerText = logInfo;
xe.AppendChild(OprateMsg);
XmlElement OprateTime = doc.CreateElement("操作时间");
OprateTime.InnerText = DateTime.Now.ToShortDateString();
xe.AppendChild(OprateTime);
root.AppendChild(xe);
doc.Save(path); }
#region 写操作日志 这种格式
// <Log>
//<操作人>Admin</操作人>
//<结果>成功</结果>
//<结果信息>数据导出成功!</结果信息>
//<操作时间>2014/5/27</操作时间>
//</Log>
/// <summary>
/// 写操作日志
/// </summary>
/// <param name="logInfo">要写入日志的内容</param>
/// <param name="flagOfResult">成功还是失败</param>
public static void WriteLog1(this string logInfo, int flagOfResult)
{
XmlDocument doc = new XmlDocument();
string path = System.Environment.CurrentDirectory + "\\Log.xml";
doc.Load(path);
//查找根节点
XmlNode root = doc.SelectSingleNode("Logs");
//创建一个DataInfos节点
XmlElement xe = doc.CreateElement("Log");
XmlElement operater = doc.CreateElement("操作人");
operater.InnerText = "Admin";
xe.AppendChild(operater);
XmlElement OprateResult = doc.CreateElement("结果");
OprateResult.InnerText = flagOfResult == 1 ? "成功" : "失败";
xe.AppendChild(OprateResult);
XmlElement OprateMsg = doc.CreateElement("结果信息");
OprateMsg.InnerText = logInfo;
xe.AppendChild(OprateMsg);
XmlElement OprateTime = doc.CreateElement("操作时间");
OprateTime.InnerText = DateTime.Now.ToShortDateString();
xe.AppendChild(OprateTime);
root.AppendChild(xe);
doc.Save(path);
}
#endregion
#region 写操作日志----------------这种格式 <Log 操作人="Admin" 操作结果="成功" 结果详情="数据导出成功!" 操作时间="2014/5/2714:37" />
/// <summary>
/// 写操作日志
/// </summary>
/// <param name="logInfo">要写入日志的内容</param>
/// <param name="flagOfResult">成功还是失败</param>
public static void WriteLog(this string logInfo, int flagOfResult)
{
try
{
XmlDocument doc = new XmlDocument();
string path = System.Environment.CurrentDirectory + "\\Log.xml";
doc.Load(path);
//查找根节点
XmlNode root = doc.SelectSingleNode("Logs");
//创建一个DataInfos节点
XmlElement xe = doc.CreateElement("Log");
xe.SetAttribute("操作人", "Admin");
xe.SetAttribute("操作结果", flagOfResult == 1 ? "成功" : "失败");
xe.SetAttribute("结果详情", logInfo);
xe.SetAttribute("操作时间", DateTime.Now.ToShortDateString() + DateTime.Now.ToShortTimeString());
root.AppendChild(xe);
doc.Save(path);
}
catch (Exception)
{
return;
}
}
#endregion
#region 根据配置文件初始化SQL语句
/// <summary>
/// 根据表名及其配置文件生成T_SQL语句及要生成的Excel的表头
/// </summary>
/// <param name="TableName">要查询的Table的表名</param>
/// <returns>正常:返回List<string>表头String及T_SqLString;异常:返回单个以“错误”+异常信息的List</returns>
public static List<string> InitSqlString(this string TableName)
{
List<string> listResult = new List<string>();
try
{
StringBuilder sbOfT_SQL = new StringBuilder();
StringBuilder sbOfExcelHeadName = new StringBuilder();
sbOfT_SQL.Append("select ");
XmlDocument doc = new XmlDocument();
doc.Load(System.Environment.CurrentDirectory + "\\TableDetailInfo\\" + TableName + ".xml");
XmlNodeList xmlList = doc.SelectSingleNode("ContrastList").ChildNodes;
foreach (XmlNode xn in xmlList)
{
XmlElement xe = (XmlElement)xn;
if (xe.Name == "Contrast")
{
if (xe.GetAttribute("IsSelect") == "true")
{
sbOfT_SQL.Append(xe.GetAttribute("DestField"));
sbOfExcelHeadName.Append(xe.GetAttribute("SourceField"));
sbOfExcelHeadName.Append(",");
sbOfT_SQL.Append(",");
}
}
}
sbOfT_SQL.Remove(sbOfT_SQL.ToString().Length - 1, 1);
sbOfExcelHeadName.Remove(sbOfExcelHeadName.ToString().Length - 1, 1);
sbOfT_SQL.Append(" from " + TableName);
listResult.Add(sbOfExcelHeadName.ToString());
listResult.Add(sbOfT_SQL.ToString());
}
catch (Exception ex)
{
listResult.RemoveRange(0, listResult.Count);
listResult.Add("错误");
}
return listResult;
}
#endregion
XML常用操作的更多相关文章
- xml常用操作(js、sql、vb)
我们经常会用到xml操作,如下介绍了js.sql.vb等对xml的操作. JS创建xml对象 //创建对象 function getDataXML() { var objTds = $(&qu ...
- TinyXml 操作XML 常用操作
源代码下载:http://sourceforge.net/projects/tinyxml/files/ 如下是一个XML片段: <Persons> <Perso ...
- logback logback.xml常用配置详解(三)
logback logback.xml常用配置详解 <filter> <filter>: 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之 ...
- Hadoop HDFS文件常用操作及注意事项
Hadoop HDFS文件常用操作及注意事项 1.Copy a file from the local file system to HDFS The srcFile variable needs t ...
- SQL Server 2008 对XML 数据类型操作
原文 http://www.cnblogs.com/qinjian123/p/3240702.html 一.前言 从 SQL Server 2005 开始,就增加了 xml 字段类型,也就是说可以直接 ...
- xml常用四种解析方式优缺点的分析×××××
xml常用四种解析方式优缺点的分析 博客分类: xml 最近用得到xml的解析方式,于是就翻了翻自己的笔记同时从网上查找了资料,自己在前人的基础上总结了下,贴出来大家分享下. 首先介绍一下xml语 ...
- Flex 对Xml对象操作
一.读取.xml文件() import flash.events.Event; import flash.net.URLLoader; import flash.net.URLRequest; ...
- fiddler常用操作
fiddler常用操作 标签(空格分隔): fiddler fidrdler抓取https请求: fiddler是一个很好的抓包工具,但是默认的是抓取HTTP的,对于pc的https的会提示网页不安全 ...
- Hbase常用操作(增删改查)
Hbase常用操作(增删改查) [日期:2014-01-03] 来源:Linux社区 作者:net19880504 [字体:大 中 小] 运行Eclipse,创建一个新的Java工程“HBa ...
随机推荐
- UVALive 6530 Football (水
题目链接:点击打开链 #include <cstdio> #include <vector> #include <algorithm> using namespac ...
- S2S4H整合注意问题
整合过程中出现问题记录: 1.The import javax.servlet.http.HttpServletRequest cannot be resolved 解决办法:在tomcat的lib目 ...
- jquery获取form表单中的内容,并将表单内容更新到datagrid的一行
//执行不刷新页面更新所修改的行 var arr = $('#patient_form').serializeArray();//将表单中的数据格式化成数组 var m = new Array(); ...
- 为什么Java中的字符串是不可变的?
原文链接:https://www.programcreek.com/2013/04/why-string-is-immutable-in-java/ java字符串是不可变的.不可变类只是一个不能修改 ...
- Linux就该这么学--Shell脚本条件语句(二)
1.for条件语句 先读取多个不同的变量值,然后逐一执行同一组命令. 从列表文件中读取主机地址,逐个测试是否在线. 从ipadds.txt中读取主机地址后赋值给HLIST变量后逐个ping列表中的主机 ...
- mysql 查看或者修改数据库密码
首先启动命令行 1.在命令行运行:taskkill /f /im mysqld-nt.exe 下面的操作是操作mysql中bin目录下的一些程序,如果没有配置环境变量的话,需要切换到mysql的bin ...
- CUDA: 共享内存与同步
CUDA C支持共享内存, 将CUDA C关键字__shared__添加到变量声明中,将使这个变量驻留在共享内存中.对在GPU上启动的每个线程块,CUDA C编译器都将创建该变量的一个副本.线程块中的 ...
- LeetCode:有效的括号【20】
LeetCode:有效的括号[20] 题目描述 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. ...
- Android适配API23之后权限的动态申请
一.权限介绍 对于6.0以下的权限及在安装的时候,根据权限声明产生一个权限列表,用户只有在同意之后才能完成app的安装,造成了我们想要使用某个app,就要默默忍受其一些不必要的权限(比如是个app都要 ...
- es6技巧写法
为class绑定多个值 普通写法 :class="{a: true, b: true}" 其他 :class="['btn', 'btn2', {a: true, b: ...