从数据库生成:

 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. 编写jquery插件的分享

    一.类级别($.extend) 类级别你可以理解为拓展jquery类,最明显的例子是$.ajax(...),相当于静态方法. 开发扩展其方法时使用$.extend方法,即jQuery.extend(o ...

  2. Codeforces 475 B Strongly Connected City【DFS】

    题意:给出n行m列的十字路口,<代表从东向西,>从西向东,v从北向南,^从南向北,问在任意一个十字路口是否都能走到其他任意的十字路口 四个方向搜,搜完之后,判断每个点能够访问的点的数目是否 ...

  3. 转:asmx迷10分钟升级成wcf熟手指南

    前言:本文旨在帮助从未接触过wcf(.svc文件)的webservice开发人员,快速将传统的webService/asmx技术迁移到wcf.高手就不用浪费时间往下看了:) 以下所有操作均为vs201 ...

  4. hibernate的oracle配置(转)

    连接Oracle数据库的Hibernate配置文件连接Oracle的Hibernate配置文件有两种格式,一种是xml格式的,另一种是Java属性文件格式的.下面分别给出这两种格式配置文件的代码. 1 ...

  5. LeetCode Reverse Nodes in k-Group 每k个节点为一组,反置链表

    题意:给一个单链表,每k个节点就将这k个节点反置,若节点数不是k的倍数,则后面不够k个的这一小段链表不必反置. 思路:递归法.每次递归就将k个节点反置,将k个之后的链表头递归下去解决.利用原来的函数接 ...

  6. 2015-10-09 Fri 晴 加快进度看书

    最近老感觉每天不够用,每天7点起来,吃饭完了8点开始看书,不知道是我看书太慢了还是时间过得真的很快,不知不觉中午就到了.而这个时候我才看2章的内容,下午能多看3章内容.一本书也就一天的时候,而我现在还 ...

  7. 使用sqlldr将文件中的数据导入到数据库

    1.创建数据文件: ?如,在D:\创建 zhaozhenlong.txt 文件,文件内容为: 11,12,1321,22,2331,32,33 2.创建控制文件: 如,在D:\创建 zhaozhenl ...

  8. Java核心技术II读书笔记(三)

    ch2 XML SAX解析器 SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser parser = factory ...

  9. Java 中带参带返回值方法的使用

    如果方法既包含参数,又带有返回值,我们称为带参带返回值的方法. 例如:下面的代码,定义了一个 show 方法,带有一个参数 name ,方法执行后返回一个 String 类型的结果 调用带参带返回值的 ...

  10. java web项目导入问题

    由于工作问题,接触到很多其他人的项目,有时候想要直接跑起来,还是需要一定的耐力. 1:导入不进去,干脆新建项目,一个个复制进去: 2:第三方jar包不要忘记,核实jdk    j2ee的版本,编译路径 ...