1.静态函数

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml; namespace httpWebRequest
{
//CreateXMLList
//<?xml version="1.0" encoding="utf-8"?>
//<root>
// <parent>
// <son>
// <name>lady gaga</name>
// <age>50</age>
// </son>
// <son>
// <name>swift</name>
// <age>42</age>
// </son>
// </parent>
//</root> //CreateXML
//<?xml version="1.0" encoding="utf-8"?>
//<root>
// <parent>
// <son>
// <name>swift</name>
// </son>
// </parent>
//</root> public class OperateXML
{
public OperateXML() { } /// <summary>
/// 创建含有大量子节点的
/// </summary>
public static void CreateXMLList(string parentName, string SonName, List<Dictionary<string, string>> XmlNodeInfoList)
{
XmlDocument myXml = new XmlDocument();
//创建声明
XmlDeclaration xd = myXml.CreateXmlDeclaration("1.0", "utf-8", null);
myXml.AppendChild(xd); //创建根结点
XmlElement xmlRoot = myXml.CreateElement("root");
myXml.AppendChild(xmlRoot); //创建 parent
XmlElement parent = myXml.CreateElement(parentName);
xmlRoot.AppendChild(parent); foreach (Dictionary<string, string> xmlNodeInfo in XmlNodeInfoList)
{
//在parent下面创建son
XmlElement son = myXml.CreateElement(SonName);
parent.AppendChild(son); foreach (string key in xmlNodeInfo.Keys)
{
//在son下面创建name
XmlElement name = myXml.CreateElement(key);
name.InnerText = xmlNodeInfo[key];
son.AppendChild(name);
}
} //保存文档
myXml.Save("d:\\test.xml");
} public static void CreateXML()
{
XmlDocument myXml = new XmlDocument();
//创建声明
XmlDeclaration xd = myXml.CreateXmlDeclaration("1.0", "utf-8", null);
myXml.AppendChild(xd); //创建根结点
XmlElement xmlRoot = myXml.CreateElement("root");
myXml.AppendChild(xmlRoot); //创建 parent
XmlElement parent = myXml.CreateElement("parent");
xmlRoot.AppendChild(parent); //在parent下面创建son
XmlElement son = myXml.CreateElement("son");
parent.AppendChild(son); //在son下面创建name
XmlElement name = myXml.CreateElement("name");
name.InnerText = "swift";
son.AppendChild(name); //保存文档
myXml.Save("d:\\test.xml");
} public static List<string> ParseXML(ref string errStr, string path)
{
List<string> nameList = new List<string>(); XmlDocument myXml = new XmlDocument();
try
{
myXml.Load("d:\\test.xml");
}
catch (Exception e)
{
errStr = string.Format("load xml is failed");
return null;
} //string path = "root";
//XmlNode xmlRoot = myXml.SelectSingleNode(path);
//if (xmlRoot == null)
//{
// errStr = string.Format("do not have this path:{0}", path);
// return null;
//} //path = "parent/son";
XmlNodeList xmlNodeList = myXml.SelectNodes(path);
if (xmlNodeList == null || xmlNodeList.Count <= 0)
{
errStr = string.Format("do not have this path:{0}", path);
return null;
} foreach (XmlNode xmlNode in xmlNodeList)
{
string name = xmlNode.InnerText;
nameList.Add(name);
} return nameList;
}
}
}

  2.使用

      private void button1_Click(object sender, EventArgs e)
{
Dictionary<string, string> dt = new Dictionary<string, string>() { { "name", "lady gaga" }, { "age", "50" } };
Dictionary<string, string> dt1 = new Dictionary<string, string>() { { "name", "swift" }, { "age", "42" } };
List<Dictionary<string, string>> XmlNodeInfoList = new List<Dictionary<string, string>>();
XmlNodeInfoList.Add(dt);
XmlNodeInfoList.Add(dt1);
OperateXML.CreateXMLList("parent", "son", XmlNodeInfoList);
} private void button2_Click(object sender, EventArgs e)
{
string errStr = string.Empty;
OperateXML.ParseXML(ref errStr,"root/parent/son");
}      private void button3_Click(object sender, EventArgs e)
{
OperateXML.CreateXML();
}

  

c# 创建XML文档,解析XML文档的更多相关文章

  1. xml语法、DTD约束xml、Schema约束xml、DOM解析xml

    今日大纲 1.什么是xml.xml的作用 2.xml的语法 3.DTD约束xml 4.Schema约束xml 5.DOM解析xml 1.什么是xml.xml的作用 1.1.xml介绍 在前面学习的ht ...

  2. python 之模块之 xml.dom.minidom解析xml

    # -*- coding: cp936 -*- #python 27 #xiaodeng #python 之模块之 xml.dom.minidom解析xml #http://www.cnblogs.c ...

  3. XML基础+Java解析XML +几种解析方式的性能比较

    XML基础+Java解析XML 一:XML基础 XML是什么: 可扩展的标记语言 XML能干什么: 描述数据.存储数据.传输(交换)数据. XML与HTML区别: 目的不一样 XML 被设计用来描述数 ...

  4. Java中使用DOM4J来生成xml文件和解析xml文件

    一.前言 现在有不少需求,是需要我们解析xml文件中的数据,然后导入到数据库中,当然解析xml文件也有好多种方法,小编觉得还是DOM4J用的最多最广泛也最好理解的吧.小编也是最近需求里遇到了,就来整理 ...

  5. XPath 文档 解析XMl

    http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html 简介 XPath由W3C的 XPath 1.0 标准描述.本教程通过实例 ...

  6. 创建xml文件、解析xml文件

        1.创建XML文件: import codecs import xml.dom.minidom doc=xml.dom.minidom.Document() print doc root=do ...

  7. 在C#中使用属性控制 XML 序列化来解析XML

    今天需要解析一个XML,这个XML和一般情况用.NET的序列化出来的格式不太一样. 我就又补习了一下. 分享一下学习成果吧. 示例代码下载: http://download.csdn.net/deta ...

  8. Java利用dom4j生成xml文件、解析XML

    package com.fq.fanqi; import java.io.File;import java.io.FileWriter;import java.io.IOException;impor ...

  9. java基础 xml 使用dom4j解析 xml文件 servlet根据pattern 找到class

    package com.swift.kaoshi; import java.io.File; import java.util.List; import java.util.Scanner; impo ...

  10. XML(四)dom4j解析XML

    使用dom4j须要导入jar包 jar包下载地址:http://pan.baidu.com/s/1o65jWRw 将dom4j-1.6.1.jar包导入Eclipse book2.xml <?x ...

随机推荐

  1. RabbitMQ入门Demo

    之前环境安装已经介绍过了,下面直接跑个Demo. 1.添加Maven依赖 <dependency> <groupId>org.springframework.amqp</ ...

  2. jQuery判断 form表单提交时一些文本框的判断

    一: form表单提交时如果表单里有input标签为空那么不提交form表单. <head> <script type="text/javascript"> ...

  3. Spring 自动注册及自动装配

    Spring支持三种注册Bean及装配Bean的方式: 显式地在Java代码中注册及装配 显示地在Xml文件中注册及装配 隐式地装配,即自动注册及装配 这三种方式可以混合使用.选择哪种更多地是看个人品 ...

  4. 机器学习:调整kNN的超参数

    一.评测标准 模型的测评标准:分类的准确度(accuracy): 预测准确度 = 预测成功的样本个数/预测数据集样本总数: 二.超参数 超参数:运行机器学习算法前需要指定的参数: kNN算法中的超参数 ...

  5. Python内置函数:read()

    文章转载于:http://blog.csdn.net/sxingming/article/details/51337768(博主:快递小哥) 1> >>> f=open(r&q ...

  6. iOS利用SDWebImage图片下载缓存

    一.我们先来了解一下SDWebImage的使用: 1.导入框架,引入头文件: #import "UIImageView+WebCache.h" 也可以直接使用CocoaPods来引 ...

  7. Ubuntu 开启telnet、ftp服务

    Telnet 这里我们就来对Ubuntu Linux telnet的安装设置进行一下讲解. 1. sudo apt-get install xinetd telnetd 2. Ubuntu Linux ...

  8. 第十二章 Jetty的工作原理解析(待续)

    Jetty的基本架构 Jetty的启动过程 接受请求 处理请求 与JBoss集成 与Tomcat的比较

  9. AngularJS入门之如何快速上手

      概述: AngularJS(ng)是一个纯JS框架,AngularJS易于构建CRUD应用(CRUD意思是增删改查) 适用于以数据操作为主的SPA(Single Page Application) ...

  10. ghld data format

    %CTF: 1.00%FileType: PROF strp "VelocityProfile"%PROFSpec: 1.00 2006 00 00%Manufacturer: C ...