c# 创建XML文档,解析XML文档
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文档的更多相关文章
- 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 ...
- python 之模块之 xml.dom.minidom解析xml
# -*- coding: cp936 -*- #python 27 #xiaodeng #python 之模块之 xml.dom.minidom解析xml #http://www.cnblogs.c ...
- XML基础+Java解析XML +几种解析方式的性能比较
XML基础+Java解析XML 一:XML基础 XML是什么: 可扩展的标记语言 XML能干什么: 描述数据.存储数据.传输(交换)数据. XML与HTML区别: 目的不一样 XML 被设计用来描述数 ...
- Java中使用DOM4J来生成xml文件和解析xml文件
一.前言 现在有不少需求,是需要我们解析xml文件中的数据,然后导入到数据库中,当然解析xml文件也有好多种方法,小编觉得还是DOM4J用的最多最广泛也最好理解的吧.小编也是最近需求里遇到了,就来整理 ...
- XPath 文档 解析XMl
http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html 简介 XPath由W3C的 XPath 1.0 标准描述.本教程通过实例 ...
- 创建xml文件、解析xml文件
1.创建XML文件: import codecs import xml.dom.minidom doc=xml.dom.minidom.Document() print doc root=do ...
- 在C#中使用属性控制 XML 序列化来解析XML
今天需要解析一个XML,这个XML和一般情况用.NET的序列化出来的格式不太一样. 我就又补习了一下. 分享一下学习成果吧. 示例代码下载: http://download.csdn.net/deta ...
- Java利用dom4j生成xml文件、解析XML
package com.fq.fanqi; import java.io.File;import java.io.FileWriter;import java.io.IOException;impor ...
- java基础 xml 使用dom4j解析 xml文件 servlet根据pattern 找到class
package com.swift.kaoshi; import java.io.File; import java.util.List; import java.util.Scanner; impo ...
- XML(四)dom4j解析XML
使用dom4j须要导入jar包 jar包下载地址:http://pan.baidu.com/s/1o65jWRw 将dom4j-1.6.1.jar包导入Eclipse book2.xml <?x ...
随机推荐
- BZOJ4358:permu
浅谈\(K-D\) \(Tree\):https://www.cnblogs.com/AKMer/p/10387266.html 题目传送门:https://lydsy.com/JudgeOnline ...
- Python:内置split()方法
描述 Python split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串 语法 split()方法语法: str.split(str="&qu ...
- java代码String创建对象数组,进行排序
总结:String是一个类.对于字串大小比较用方法:compareTo() package com.da.ima2; public class gh { public static void main ...
- wpf数据验证实例及常用方法小结
虽然标题是wpf数据验证,但并不是对IDataErrorInfo.ValidationRule.属性中throw Exception这几种验证方式的介绍: 之前做项目时(例如员工工资管理),根据员工编 ...
- 一张图看懂------left join;right join;inner join
- iOS按home键后程序的状态变化
iOS 的应用里的几种状态: active: 应用在前台正常运行 background: 应用在后台,并且在执行代码. inactive: 这个状态是应用从一个状态向另一个状态的过渡 suspende ...
- CreateMutex实现只能打开一个客户端
#include "stdafx.h" #include <Windows.h> #include <iostream> using namespace s ...
- 什么是SPU、SKU、SKC、ARPU
首先,搞清楚商品与单品的区别.例如,iphone是一个单品,但是在淘宝上当很多商家同时出售这个产品的时候,iphone就是一个商品了. 商品:淘宝叫item,京东叫product,商品特指与商家有关的 ...
- java 多线程系列基础篇(七)之线程休眠
1. sleep()介绍 sleep() 定义在Thread.java中.sleep() 的作用是让当前线程休眠,即当前线程会从“运行状态”进入到“休眠(阻塞)状态”.sleep()会指定休眠时间,线 ...
- 问题:C#属性;结果:c# 属性
c# 属性 属性:get { //读属性代码 } set { //写属性代码 } public class Person{private string name;public string Name{ ...