创建Xml文件与修改Xml文件
/// <summary>
/// 修改节点
/// </summary>
/// <param name="user">UserSafe 实体类</param>
/// <returns></returns>
public XmlDocument UpdateUserNode(UserSafe user)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(fileUserName);//加载xml文件,路径未指定时默认在当前项目环境下
XmlNodeList nodelist = xmlDoc.SelectSingleNode("item").ChildNodes;
foreach (XmlNode node in nodelist)
{
XmlElement xe = (XmlElement)node;
if (xe.ParentNode.FirstChild.Name == "Safe")//找到相应节点
{
XmlNodeList childNodeList = xe.ChildNodes;//继续获取子节点的所有子节点
foreach (XmlNode xn2 in childNodeList)//遍历子节点的所有子节点
{
XmlElement xmlDoc3 = (XmlElement)xn2;//转换类型
if (xmlDoc3.Name == "username")//找到相应节点
{
if (xmlDoc3.InnerText == user.USERNAME)
{
xmlDoc3.InnerText = user.USERNAME;//修改相应节点的值
}
break;
}
if (xmlDoc3.Name == "insertdate")//找到相应节点
{
if (xmlDoc3.InnerText != user.INSERTDATE)
{
xmlDoc3.InnerText = user.INSERTDATE;//修改相应节点的值
}
break;
}
xmlDoc.AppendChild(xn2);
}
break;
}
}
xmlDoc.Save(fileUserName);//保存
return xmlDoc;
}
/// <summary>
/// 创建节点
/// </summary>
/// <param name="user">UserSafe 实体类</param>
/// <param name="fileName">文件名</param>
/// <returns></returns>
private XmlDocument CreateUserFileMethod(UserSafe user, string fileName)
{
XmlDocument xmlDoc = new XmlDocument();
//创建类型声明节点
XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "");
xmlDoc.AppendChild(node);
//创建根节点
XmlNode root = xmlDoc.CreateElement("item");
xmlDoc.AppendChild(root);
XmlNode node1 = xmlDoc.CreateNode(XmlNodeType.Element, "Safe", null);
CreateNode(xmlDoc, node1, "insertdate", user.INSERTDATE);
CreateNode(xmlDoc, node1, "username", user.USERNAME);
root.AppendChild(node1);
XmlAttribute genre = (XmlAttribute)xmlDoc.CreateAttribute("genre");
genre.InnerText = user.USERNAME;
node1.Attributes.Append(genre);
try
{
xmlDoc.Save(fileName);
}
catch (Exception e)
{
//显示错误信息
Console.WriteLine(e.Message);
}
return xmlDoc;
}
public void CreateNode(XmlDocument xmlDoc, XmlNode parentNode, string name, string value)
{
XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, name, null);
node.InnerText = value;
parentNode.AppendChild(node);
}
创建Xml文件与修改Xml文件的更多相关文章
- Java xml 操作(Dom4J修改xml + xPath技术 + SAX解析 + XML约束)
1 XML基础 1)XML的作用 1.1 作为软件配置文件 1.2 作为小型的"数据库" 2)XML语法(由w3c组织规定的) 标签: 标签名不能以数字开头,中间不能有空格,区分大 ...
- 【使用Itext处理PDF文档(新建PDF文件、修改PDF文件、PDF中插入图片、将PDF文件转换为图片)】
iText简介 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文件转 ...
- 使用C#创建winform窗体,修改debugwen文件夹下exe应用程序的默认图标
在做一个接口程序是遇到的问题,记录一下: 在解决方案资源管理器上,右击项目名称——属性——点击图标和清单右边的的按纽——去Debug文件夹中找到自己的图标,打开.然后保存.
- 使用C#读取XML节点,修改XML节点
例子: <add key="IsEmptyDGAddRootText" value="" /> <!--是否可以修改归档状态档案 false: ...
- Mac如何前往文件夹 修改hosts文件 显示隐藏文件 Mac如何查看剪切板
Mac 如何前往文件夹 首先,回到桌面,或者点击Finder(访达) 然后输入快捷键 ⌘ Command + ⇧ Shift + G 或者在Finder上方状态栏中点击‘前往’>>> ...
- 面试官问我:如何在 Python 中解析和修改 XML
摘要:我们经常需要解析用不同语言编写的数据.Python提供了许多库来解析或拆分用其他语言编写的数据.在此 Python XML 解析器教程中,您将学习如何使用 Python 解析 XML. 本文分享 ...
- [置顶] c# asp.net 修改webconfig文件 配置
c# asp.net 修改webconfig文件 配置 #region 修改config文件 /// <summary> /// 修改config文件(AppSetting节点) /// ...
- c# asp.net 修改webconfig文件 配置
#region 修改config文件 /// <summary> /// 修改config文件(AppSetting节点) /// </summary> /// <par ...
- JXL包大解析;Java程序生成excel文件和解析excel文件内容
最近需求变化,需要把excel导入 我以前没有做过,所以我查了一些资料 和参考别人的代码 以下是多种方式: import java.io.File; import java.io.FileInputS ...
随机推荐
- 把cmd信息中的正常和异常输出分别输出到不同txt文件中
场景一: 1.大量滚动信息容纳不下,在小黑屏中被冲刷掉. 2.希望把正常输出和异常输出分别输出到不同地方. 相关命令 一共有4个输出到文件的命令,现以jar命令打war包举例说明: 命令 说明 举例 ...
- XAF进修二:在XAF中打开自定义的WinForm
在建造WinForm时须要加上一机关函数和Show办法 using System; using System.Collections.Generic; using System.ComponentMo ...
- 关于display:flex
遇到了一个bug 就是display:flex 遇到的bug原型就是,项目容器的diaplay:flex ,一行项目五个,到最后一行只剩两个的时候 是两端对齐的,如果再添加的话 也就是两端各一个子 ...
- Java动手动脑(二)
1>类的对象实例化 由于main为静态类型,所以在调用函数时也必须调用静态方法,如上代码中的求平方数的静态方法,如何在静态main中调用非静态类的方法呢? 静态方法只能直接访问静态成员,无法访问 ...
- perl 引用
数组的数组 $a = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] 哈希的哈希 my $student_properties_of = { 'zdd' => { 'ag ...
- 清除oracle中的缓存(具体细节未知, 慎用)
oracle中的缓存主要是指SGA中的:1.share pool2.database buffer cache清空命令如下:首先要登录到sqlplus命令下,输入如下命令即可:SQL> alte ...
- sandy bridge
SANDY BRIDGE SPANS GENERATIONS Intel Focuses on Graphics, Multimedia in New Processor Design By Li ...
- dddddd
(function(window){ var com = function(box){ this.box = document.querySelector(box); } window.zhangle ...
- postgresql数据迁移
postgresql从库故障准备新库 1,创建用户[root@localhost home]# userdel postgres[root@localhost home]# groupdel post ...
- VS2012智能提示消失的解决方法
1.点击电脑左下角的“开始菜单”->"所有程序"->Microsoft Visual Studio 2012->Visual Studio Tools->V ...