从数据库生成:

 public static void ToXML(string tablename)
{
//获取数据
string sql = "select * from " + tablename;
DataTable dt = SqlHelper.GetList(sql);
//创建xml对象
XDocument document = new XDocument();
//创建根节点
XElement root = new XElement(tablename + "s");
document.Add(root);
//遍历表格,添加结点
foreach (DataRow item in dt.Rows)
{
//创建元素节点
XElement element = new XElement(tablename);
//设置编号属性(key value,效果:<user c_id="1"> </user>)
element.SetAttributeValue(dt.Columns[].ColumnName, item[].ToString());//假设0列为主键列
//将所有列(除编号列外)分别生成子元素(key value,效果: <c_name>洛杉矶</c_name>)
for (int i = ; i < dt.Columns.Count; i++)
{ element.SetElementValue(dt.Columns[i].ColumnName, item[i].ToString());
}
root.Add(element);
}
//保存生成的xml
document.Save(tablename+".xml");
}

从文件中读取:

 public void getXml()
{
XDocument document = new XDocument();
//加载文件
document = XDocument.Load("Test.xml");
//读取根节点
XElement root = document.Root;
// Console.WriteLine("节点名:"+root.Name+"节点值:"+root.FirstAttribute.Value);
//加入节点前使用linq to xml的语法判断id是否存在 int n = root.Elements("student").Where(u => u.Attribute("id").Value == "" || u.Element("name").Value == "王五").Count();
if (n > )
{
Console.WriteLine("id已经存在");
}
else
{
XElement element = new XElement("student");
//设置属性
element.SetAttributeValue("id", "");
//设置节点下的子节点
element.SetElementValue("name", "王五");
element.SetElementValue("age", "");
//加入到根元素下
root.Add(element);
//保存操作
document.Save("Test.xml");
} //循环读取节点内容
foreach (XElement item in root.Elements())
{
Console.WriteLine("节点名:" + item.Name + " 节点属性值:" + item.Attribute("id").Value + " 节点值:" + item.Element("name").Value);
}
}

XElement n = root.Elements("rootFile").Where(u => u.Attribute("name").Value == "rf").ElementAt(0);

MessageBox.Show(n.Attribute("value").Value);

展示一下子节点的属性值

XML文件的生成与读取的更多相关文章

  1. xml文件的生成

    关于android中自定义xml文件的生成,请看示例代码(主要来源于黑马教程): import java.io.File; import java.io.FileNotFoundException; ...

  2. Matlab中使用脚本和xml文件自动生成bus模块

    帮一个老师写的小工具 在一个大工程中需要很多bus来组织信号,而为了规范接口,需要定义很多BusObject,用Matlab语言手写这些BusObject比较费工夫 所以用xml配置文件来写,也便于更 ...

  3. .net操作xml文件(新增.修改,删除,读取) 转

    今天有个需求需要操作xml节点.突然见遗忘了许多.上网看了些资料.才整出来.脑袋真不够用.在这里把我找到的资料共享一下.方便以后使用.本文属于网摘/ 1 一.简单介绍2 using System.Xm ...

  4. Android 解析XML文件和生成XML文件

    解析XML文件 public static void initXML(Context context) { //can't create in /data/media/0 because permis ...

  5. xml文件的生成与解析

    生成方法一:同事StringBuffer类对xml文件格式解析写入 package com.steel_rocky.xml; import android.app.Activity; import a ...

  6. xml文件配置新增与读取

    xml文件 <?xml version="1.0" encoding="utf-8" ?> <Config> <dbtype> ...

  7. C#操作xml文件:使用XmlDocument 实现读取和写入

    XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web.config文件,还有许多重要的场所都有它的身影.Xml是Internet环境中跨平台的,依赖于内 ...

  8. 项目常用解决方案之SystemSetting.xml文件的修改与读取

    Winform及WPF项目中经常会用到类似SystemSetting.xml等类似的文件用于保存CLIENT的数据,比如登录过的用户名或密码以及其他设置.所以就想到一个解决方法,可以用到所有有此需求的 ...

  9. 根据xml文件自动生成xsd文件

    根据xml生成xsd文档 1. 找到vs自带的xsd.exe工具所在的文件夹位置: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin 注意 ...

随机推荐

  1. HDU 1564 (博弈) Play a game

    这道题的答案猜也很好猜出来,但是想太难想了..题解一贴,然后闪人.. 请戳这

  2. POJ 1976 A Mini Locomotive【DP】

    题意:给出一列火车,可以由三个火车头拉,每个火车头最多拉m节车厢(这m节车厢需要保持连续),再给出n节车厢,每节车厢的人数,问最多能够载多少人到终点. 可以转化为三个长度相等的区间去覆盖n个数,使得这 ...

  3. Maven的功用所引发的哲学思想

    我们知道Maven有三个仓库 本地仓库 ~/.m2/repository/ 每一个用户也可以拥有一个本地仓库 远程仓库 中央仓库:Maven默认的远程仓库 http://repo1.maven.org ...

  4. PHP实现站点pv,uv统计(一)

    具体步骤分为数据采集脚本,数据收取服务,数据分析脚本,数据存储服务 采集脚本一般有两种形式,一种是简单的页面插入一个图片进行请求,一种是复杂的动态生成js标签,引入一段js(这时采集服务器会网往客户端 ...

  5. .CO域名快被这帮搞IT的玩坏了……

    鉴于近来国内访问Google的服务受阻,greatfire.org于前天推出了其基于亚马逊AWS的Google搜索镜像网站,地址是sinaapp.co.该网站随后因多家海外媒体的报道和众多微博大V的转 ...

  6. Android高手进阶教程(五)之----Android 中LayoutInflater的使用!

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://weizhulin.blog.51cto.com/1556324/311450 大 ...

  7. linux 开机自动运行

    1.开机启动时自动运行程序 Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init.init根据配置文件继续引导过程,启动其它进程.通常情况下,修改放置在 /etc/rc或 /et ...

  8. 将cocos2dx项目从Visual Studio 迁移到 xcode

    因为Visual Studio和XCode的巨大差异性,一开始选择任何一个IDE,都会有一个迁移的过程,XCode的迁移到Visual Studio相对非常简单,不用再介绍.将项目从Visual St ...

  9. LR录制测试脚本

    1.录制的业务流程 2.录制脚本 3.查看脚本

  10. VBS学习:流程控制语句判断结构

    一.数值运算: 1) Dim a,b,c a=inputbox("a是:","输入半径") b=Inputbox("b是:","输 ...