C# XML创建解析、XML格式化
导入命名空间:
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格式化的更多相关文章
- dom4j组装xml 以及解析xml
dom4j组装xml 以及解析xml: 1.下载dom4j的jar包,地址:https://dom4j.github.io/ 2.java代码: package test; import java.i ...
- python 解析XML python模块xml.dom解析xml实例代码
分享下python中使用模块xml.dom解析xml文件的实例代码,学习下python解析xml文件的方法. 原文转自:http://www.jbxue.com/article/16587.html ...
- 7.数据本地化CCString,CCArray,CCDictionary,tinyxml2,写入UserDefault.xml文件,操作xml,解析xml
数据本地化 A CCUserDefault 系统会在默认路径cocos2d-x-2.2.3\projects\Hello\proj.win32\Debug.win32下生成一个名为UserDef ...
- Dom生成Xml和解析Xml
xml这样的文件格式在非常多时候都是非常适合我们用来存取数据的,所以利用程序来生成xml文件和解析xml文件就显得比較重要了.在dom中是把每个元素都看做是一个节点Node的,全部页面上的属性.元素等 ...
- Python—使用xml.sax解析xml文件
什么是sax? SAX是一种基于事件驱动的API. 利用SAX解析XML文档牵涉到两个部分:解析器和事件处理器. 解析器负责读取XML文档,并向事件处理器发送事件,如元素开始跟元素结束事件; 而事件处 ...
- Python使用xml.dom解析xml
在菜鸟教程上找了个关于电影信息的xml类型的文档,用python内置的xml.dom来解析提取一下信息. 先复习一下xml概念: XML 指可扩展标记语言(EXtensible Markup Lang ...
- 基于Woodstox的StAX 2 (Streaming API for XML)解析XML
StAX (Streaming API for XML)面向流的拉式解析XML,速度快.占用资源少,非常合适处理大数据量的xml文件. 详细教程和说明可以参见以下几篇文章: 使用 StAX 解析 XM ...
- SqL读取XML、解析XML、SqL将XML转换DataTable、SqL将XML转换表
DECLARE @ItemMessage XML )) SET @ItemMessage=N' <ReceivablesInfos> <ReceivablesList> < ...
- XML详解二XML的解析与创建
XML用来传输和存储数据,如何解析获取到的XML文本呢? 一.解析XML 创建demo.xml文件: <?xml version="1.0" encoding="U ...
随机推荐
- await使用中的阻塞和并发(二)
本文继续上篇未完成的讨论,通过将Lambda还原成最普通的代码段,来解释上篇提出的疑问.并更正上篇中一些不太正确的写法.最后会给出无需等待Async方法返回值时,对Async方法使用await的建议, ...
- winform textbox控件keydown、keypress、keyup简单介绍
1.执行先后顺序: keydown-->keypress-->keyup 2.按键相关操作: 1)keydown和keyup参数类型KeyEventArgs(提供了KeyCode)实现形式 ...
- JSOI2008 Blue Mary开公司 | 李超线段树学习笔记
题目链接:戳我 这相当于是一个李超线段树的模板qwqwq,题解就不多说了. 代码如下: #include<iostream> #include<cstdio> #include ...
- 指针版P3690 【模板】Link Cut Tree (动态树)
题面 传送门 题解 鉴于数组版实在是太慢我用指针版重新写了一遍 代码基本是借鉴了lxl某道关于\(LCT\)的题 //minamoto #include<bits/stdc++.h> #d ...
- objectARX创建 PaletteSet 停靠面板示例
objectARX创建 PaletteSet 停靠面板示例 图文By edata ,转载注明出处 http://www.cnblogs.com/edata 部分代码参考张帆<AutoCAD Ob ...
- CSRF漏洞原理说明与利用方法
翻译者:Fireweed 原文链接:http://seclab.stanford.edu/websec/ 一 .什么是CSRF Cross-Site Request Forgery(CSRF),中文一 ...
- elasticsearch-5.1.1 安装的问题
elasticsearch 5.1 安装过程中遇到了一些问题做一些记录. 问题一:警告提示 [2016-12-20T22:37:28,543][INFO ][o.e.b.BootstrapCheck ...
- kali系统越来越大解决
Kali Linux系统提供的apt-get方式,可以很好的安装软件,对系统进行更新.但是每次执行都会下载大量的软件包.这些软件包被安装后,并不会被自动删掉,会持续占用磁盘空间.解决这个问题有两个办法 ...
- Keil RTX使用 os_mut_init 报Hard Fault 错误解决记录
首先确定你的软件是在互斥信号初始化的位置,在以下几个位置,将会报Hard Fault 错误: (1).os_sys_init_user 用户线程创建之前 (2).os_tsk_create_user之 ...
- js的window对象
js的window对象 1.子窗口方法 function testOpen(){ window.open('son.html','newwindow','height=400, width=600, ...