从数据库生成:

 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. codeforces 450 B Jzzhu and Sequences

    题意:给出f1=x,f2=y,f(i)=f(i-1)+f(i+1),求f(n)模上10e9+7 因为 可以求出通项公式:f(i)=f(i-1)-f(i-2) 然后 f1=x; f2=y; f3=y-x ...

  2. appserver配置虚拟主机

    1, apach配置文件开启虚拟主机服务(C:\AppServ\Apache2.2\conf\httpd.conf)大概561行的位置 # Virtual hostsInclude conf/extr ...

  3. iOS中第三方框架刷新

    0.先加入主头文件 #import "MJRefresh.h" 1.添加下拉刷新 MJRefreshHeaderView *header = [MJRefreshHeaderVie ...

  4. 最全的Android源码目录结构详解(转)

     Android 2.1|-- Makefile|-- bionic                        (bionic C库)|-- bootable                (启动 ...

  5. cocoStudio UI编辑器 学习总结

    一.控件 控件基类 UIWidget:所有UI控件的基类 addChild:添加UIWidget类型的节点 addRenderer:添加CCNode类型的节点 所有UIWidget,都可以设置成触摸s ...

  6. Python [Leetcode 350]Intersection of Two Arrays II

    题目描述: Given two arrays, write a function to compute their intersection. Example:Given nums1 = [1, 2, ...

  7. JS面向对象组件(四) -- 面向对象的继承

    什么是继承 •在原有对象的基础上,略作修改,得到一个新的对象 •不影响原有对象的功能 //父类 createPerson function createPerson(name,sex){ this.n ...

  8. android 横竖屏限制如何配置

    在开发android的应用中,有时候需要限制横竖屏切换.只需要在AndroidManifest.xml文件中加入android:screenOrientation属性限制. ndroid:screen ...

  9. xampp 提示 This setting can be configured in the file "httpd-xampp.conf".

    错误提示如下: New XAMPP security concept: Access to the requested object is only available from the local ...

  10. MySQL定期分析检查与优化表

    定期分析表   ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name]   本语句用于分析和存储表的关键字分布.在分析期间,使 ...