导入命名空间:

VS需要在项目中添加引用system.XML; 代码中添加 using System.XML和using System.IO;

XML范例:

<?xml version="1.0" encoding="UTF-8"?>

<MSG>

  <HEADINFO>

    <TYPE>ValidFlight</TYPE>

  </HEADINFO>

  <ValidFlight>

    <Flight>

      <Runway></Runway>

      <Stand></Stand>

      <FlightID></FlightID>

    </Flight>

    <Flight>

      <Runway></Runway>

      <FlightID></FlightID>

    </Flight>

</ValidFlight>

</MSG>

XML解析:

方法一:

XmlNode rootNode = XDoc.SelectSingleNode("/MSG/ValidFlight");

foreach (XmlNode Xnode in rootNode.ChildNodes)
{
int FlightId = Convert.ToInt32(Xnode.SelectSingleNode("FlightID").InnerText); string RunWay = Xnode.SelectSingleNode("Runway") == null ? null : Xnode.SelectSingleNode("Runway").InnerText; string Stand = Xnode.SelectSingleNode("Stand") == null ? null : Xnode.SelectSingleNode("Stand").InnerText;
}

方法二:

XmlNode nodelist= XDoc.SelectSingleNode("MSG/ValidFlight");

foreach (XmlNode Xnode in nodelist)
{
int FlightId = Convert.ToInt32(Xnode["FlightID"].InnerText); string RunWay = Xnode["Runway"]== null ? null : Xnode.Xnode["Runway"].InnerText; string Stand = Xnode["Stand"] == null ? null :Xnode["Stand"].InnerText;
}

XML创建

XmlDocument xmlDoc = new XmlDocument();

//创建根节点

xmlDoc.LoadXml("<?xml version = '1.0' encoding='UTF-8'?><MSG></MSG>");

XmlElement root = xmlDoc.DocumentElement; 

//创建一级节点

XmlElement flight = xmlDoc.CreateElement("flight");

//创建第二级节点

XmlElement flightPlan = xmlDoc.CreateElement("flightPlan");

XmlElement fpid = xmlDoc.CreateElement("fpid");

fpid.InnerText = ;

flightPlan.AppendChild(fpid);

//创建第二个节点

XmlElement fpflag = xmlDoc.CreateElement("fpflag");
fpflag.InnerText = ; fpflag.SetAttribute("name","fpflag"); flightPlan.AppendChild(fpflag); flight.AppendChild(flightPlan); root.AppendChild(flight);

XML格式化

private static string formatXml(XmlDocument xml)
{
XmlDocument xd = xml as XmlDocument;
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
XmlTextWriter xtw = null;
try
{
xtw = new XmlTextWriter(sw);
xtw.Formatting = Formatting.Indented;
xtw.Indentation = ;
xtw.IndentChar = '\t';
xd.WriteTo(xtw);
}
finally
{
if (xtw == null)
xtw.Close();
}
return sb.ToString();
}

C# XML创建解析、XML格式化的更多相关文章

  1. dom4j组装xml 以及解析xml

    dom4j组装xml 以及解析xml: 1.下载dom4j的jar包,地址:https://dom4j.github.io/ 2.java代码: package test; import java.i ...

  2. python 解析XML python模块xml.dom解析xml实例代码

    分享下python中使用模块xml.dom解析xml文件的实例代码,学习下python解析xml文件的方法. 原文转自:http://www.jbxue.com/article/16587.html ...

  3. 7.数据本地化CCString,CCArray,CCDictionary,tinyxml2,写入UserDefault.xml文件,操作xml,解析xml

     数据本地化 A CCUserDefault 系统会在默认路径cocos2d-x-2.2.3\projects\Hello\proj.win32\Debug.win32下生成一个名为UserDef ...

  4. Dom生成Xml和解析Xml

    xml这样的文件格式在非常多时候都是非常适合我们用来存取数据的,所以利用程序来生成xml文件和解析xml文件就显得比較重要了.在dom中是把每个元素都看做是一个节点Node的,全部页面上的属性.元素等 ...

  5. Python—使用xml.sax解析xml文件

    什么是sax? SAX是一种基于事件驱动的API. 利用SAX解析XML文档牵涉到两个部分:解析器和事件处理器. 解析器负责读取XML文档,并向事件处理器发送事件,如元素开始跟元素结束事件; 而事件处 ...

  6. Python使用xml.dom解析xml

    在菜鸟教程上找了个关于电影信息的xml类型的文档,用python内置的xml.dom来解析提取一下信息. 先复习一下xml概念: XML 指可扩展标记语言(EXtensible Markup Lang ...

  7. 基于Woodstox的StAX 2 (Streaming API for XML)解析XML

    StAX (Streaming API for XML)面向流的拉式解析XML,速度快.占用资源少,非常合适处理大数据量的xml文件. 详细教程和说明可以参见以下几篇文章: 使用 StAX 解析 XM ...

  8. SqL读取XML、解析XML、SqL将XML转换DataTable、SqL将XML转换表

    DECLARE @ItemMessage XML )) SET @ItemMessage=N' <ReceivablesInfos> <ReceivablesList> < ...

  9. XML详解二XML的解析与创建

    XML用来传输和存储数据,如何解析获取到的XML文本呢? 一.解析XML 创建demo.xml文件: <?xml version="1.0" encoding="U ...

随机推荐

  1. ClamAV学习【6】—— cli_load函数浏览

    (老爸回家,就放开心和他到处走,累……趁其和老妈聊天之际,再继续看代码) 参数选项,加载病毒都浏览得七七八八了,这里就贴个简单的函数注释吧.哈哈. 代码注释如下: int cli_load(const ...

  2. 洛谷P4586 [FJOI2015]最小覆盖双圆问题(最小圆覆盖)

    题面 传送门 前置芝士 最小圆覆盖 题解 我们按照\(x\)坐标排序,然后二分中间点,把点分成左右两边,对两边都做一个最小圆覆盖,那么半径大一点的那个就是答案了.然后对半径大的那一边继续二分就行了 然 ...

  3. 把序列中的N个元素赋值给多个变量

    说明: python中序列和散列 序列:可通过偏移量来进行切片的对象.列表.元组.字符串都属于序列. 散列:无法通过偏移量来进行切片的对象.比如 集合.字典 一. 变量的数量跟序列元素的个数一样 1. ...

  4. Oauth2.0 整合springCloud的Zuul 解决关键BUG 报错信息:Principal must not be null

    不清楚Oauth2.0 的 可以查看我前几篇博文 2018.4.8 补充 我出现这个原因:是我在资源服务器使用了 如下图所示 Principal Oauth2.0 提供的获取用户信息的方法 使其找到相 ...

  5. dubbo服务器启动后报错端口被占用

    环境:maven工程,ssm框架,tomcat 情景:dubbo的服务注册方服务器启动 问题原因: 经过网络查找,结果是Root WebApplicationContext 启动了两次,第二次报错,d ...

  6. php 内存分配新

    https://yq.aliyun.com/articles/38307 https://yq.aliyun.com/ziliao/132720 http://blog.liyiwei.cn/%E3% ...

  7. P1273 有线电视网(树形dp)

    P1273 有线电视网 题目描述 某收费有线电视网计划转播一场重要的足球比赛.他们的转播网和用户终端构成一棵树状结构,这棵树的根结点位于足球比赛的现场,树叶为各个用户终端,其他中转站为该树的内部节点. ...

  8. 哈弗曼树的理解和实现(Java)

    哈弗曼树概述 哈弗曼树又称最优树,是一种带权路径长度最短的树,在实际中有广泛的用途.哈弗曼树的定义,涉及路径.路径长度.权等概念.哈弗曼树可以用于哈弗曼编码,用于压缩,用于密码学等. 哈弗曼树的一些定 ...

  9. javascript举例介绍事件委托的典型使用场景

    在了解什么是DOM事件以及给DOM事件绑定监听器的几种方法后,我们来谈谈事件委托. 1. e.target 和 e.currentTarget 当我们给目标元素target 绑定一个事件监听器targ ...

  10. 【转载】SSAS-MDX#001 - MDX 基本结构

    1. MDX 的基本结构 - MDX 的基本结构有三种: Members, Tuple 和 Set    2. Members - 指的是维度树上的一个节点, 这里有一点需要指出, 量度也是一个特殊的 ...