导入命名空间:

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. await使用中的阻塞和并发(二)

    本文继续上篇未完成的讨论,通过将Lambda还原成最普通的代码段,来解释上篇提出的疑问.并更正上篇中一些不太正确的写法.最后会给出无需等待Async方法返回值时,对Async方法使用await的建议, ...

  2. winform textbox控件keydown、keypress、keyup简单介绍

    1.执行先后顺序: keydown-->keypress-->keyup 2.按键相关操作: 1)keydown和keyup参数类型KeyEventArgs(提供了KeyCode)实现形式 ...

  3. JSOI2008 Blue Mary开公司 | 李超线段树学习笔记

    题目链接:戳我 这相当于是一个李超线段树的模板qwqwq,题解就不多说了. 代码如下: #include<iostream> #include<cstdio> #include ...

  4. 指针版P3690 【模板】Link Cut Tree (动态树)

    题面 传送门 题解 鉴于数组版实在是太慢我用指针版重新写了一遍 代码基本是借鉴了lxl某道关于\(LCT\)的题 //minamoto #include<bits/stdc++.h> #d ...

  5. objectARX创建 PaletteSet 停靠面板示例

    objectARX创建 PaletteSet 停靠面板示例 图文By edata ,转载注明出处 http://www.cnblogs.com/edata 部分代码参考张帆<AutoCAD Ob ...

  6. CSRF漏洞原理说明与利用方法

    翻译者:Fireweed 原文链接:http://seclab.stanford.edu/websec/ 一 .什么是CSRF Cross-Site Request Forgery(CSRF),中文一 ...

  7. elasticsearch-5.1.1 安装的问题

    elasticsearch 5.1 安装过程中遇到了一些问题做一些记录. 问题一:警告提示 [2016-12-20T22:37:28,543][INFO ][o.e.b.BootstrapCheck ...

  8. kali系统越来越大解决

    Kali Linux系统提供的apt-get方式,可以很好的安装软件,对系统进行更新.但是每次执行都会下载大量的软件包.这些软件包被安装后,并不会被自动删掉,会持续占用磁盘空间.解决这个问题有两个办法 ...

  9. Keil RTX使用 os_mut_init 报Hard Fault 错误解决记录

    首先确定你的软件是在互斥信号初始化的位置,在以下几个位置,将会报Hard Fault 错误: (1).os_sys_init_user 用户线程创建之前 (2).os_tsk_create_user之 ...

  10. js的window对象

    js的window对象 1.子窗口方法 function testOpen(){ window.open('son.html','newwindow','height=400, width=600, ...