/// <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文件的更多相关文章

  1. Java xml 操作(Dom4J修改xml   + xPath技术  + SAX解析 + XML约束)

    1 XML基础 1)XML的作用 1.1 作为软件配置文件 1.2 作为小型的"数据库" 2)XML语法(由w3c组织规定的) 标签: 标签名不能以数字开头,中间不能有空格,区分大 ...

  2. 【使用Itext处理PDF文档(新建PDF文件、修改PDF文件、PDF中插入图片、将PDF文件转换为图片)】

    iText简介 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文件转 ...

  3. 使用C#创建winform窗体,修改debugwen文件夹下exe应用程序的默认图标

    在做一个接口程序是遇到的问题,记录一下: 在解决方案资源管理器上,右击项目名称——属性——点击图标和清单右边的的按纽——去Debug文件夹中找到自己的图标,打开.然后保存.

  4. 使用C#读取XML节点,修改XML节点

    例子: <add key="IsEmptyDGAddRootText" value="" /> <!--是否可以修改归档状态档案 false: ...

  5. Mac如何前往文件夹 修改hosts文件 显示隐藏文件 Mac如何查看剪切板

    Mac 如何前往文件夹 首先,回到桌面,或者点击Finder(访达) 然后输入快捷键 ⌘ Command + ⇧ Shift + G 或者在Finder上方状态栏中点击‘前往’>>> ...

  6. 面试官问我:如何在 Python 中解析和修改 XML

    摘要:我们经常需要解析用不同语言编写的数据.Python提供了许多库来解析或拆分用其他语言编写的数据.在此 Python XML 解析器教程中,您将学习如何使用 Python 解析 XML. 本文分享 ...

  7. [置顶] c# asp.net 修改webconfig文件 配置

    c# asp.net 修改webconfig文件 配置 #region 修改config文件 /// <summary> /// 修改config文件(AppSetting节点) /// ...

  8. c# asp.net 修改webconfig文件 配置

    #region 修改config文件 /// <summary> /// 修改config文件(AppSetting节点) /// </summary> /// <par ...

  9. JXL包大解析;Java程序生成excel文件和解析excel文件内容

    最近需求变化,需要把excel导入 我以前没有做过,所以我查了一些资料 和参考别人的代码 以下是多种方式: import java.io.File; import java.io.FileInputS ...

随机推荐

  1. 手把手教你用新浪云容器 Java 搭建自己的网站

    经过一段时间的开发,更新,迭代,新浪云容器 Java 环境逐渐成熟起来,相比过去的 Java 运行环境,可用性和易用性都得到了大量的提升.同时也收到了不少用户反馈的使用问题,特此在这篇文章里综合介绍一 ...

  2. 关于一个程序的编译过程 zkjg面试

    http://blog.csdn.net/gengyichao/article/details/6544266 一 以下是C程序一般的编译过程: 从图中看到: 将编写的一个c程序(源代码 )转换成可以 ...

  3. ELK日志管理之——kibana部署

    1.kibana安装 [root@localhost ~]# wget https://download.elastic.co/kibana/kibana/kibana-4.1.1-linux-x64 ...

  4. KinectV2+Ubuntu 14.04+Ros 安装教程

    前言 个人理解错误的地方还请不吝赐教,转载请标明出处,内容如有改动更新,请看原博:http://www.cnblogs.com/hitcm/ 如有任何问题,feel free to contact m ...

  5. 黑科技项目:英雄无敌III Mod <<Fallen Angel>>介绍

    英雄无敌三简介(Heroes of Might and Magic III) 英3是1999年由New World Computing在Windows平台上开发的回合制策略魔幻游戏,其出版商是3DO. ...

  6. 深入理解Java虚拟机(三)、垃圾收集算法

    1.第一门真正使用内存动态分配和垃圾收集技术的语言:Lisp 2.程序计数器.虚拟机栈.本地方法栈这3个区域随线程而生灭,这几个区域的内存会随着方法结束或线程结束而回收,GC关注的是Java堆和方法区 ...

  7. Linux常用命令笔记一

    笔记1:查看ubuntu是32位还是64位的方法及其版本号 查看ubuntu是64还是32的命令如下: uname -m 如果是i386到i686,那就是32位系统:如果是x86_64 ,那就是64系 ...

  8. linux不知道文件在哪,想查找文件内的字符串

    find . -name "*.*" |xargs grep "xxx"

  9. AndroidLinker与SO加壳技术之上篇

    1. 前言 Android 系统安全愈发重要,像传统pc安全的可执行文件加固一样,应用加固是Android系统安全中非常重要的一环.目前Android 应用加固可以分为dex加固和Native加固,N ...

  10. Ext开场表单布局设计

    var form = new Ext.form.FormPanel({ labelAlign: 'right', labelWidth: 60, buttonAlign: 'center', titl ...