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 ...
随机推荐
- Spring @SCHEDULED(CRON = "0 0 * * * ?")实现定时任务
Spring配置文件xmlns加入 xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocati ...
- 瞄一眼,带你走进SparkSQL的世界
本文由 网易云发布. 作者:范欣欣(本篇文章仅限知乎内部分享,如需转载,请取得作者同意授权.) 最近想来,大数据相关技术与传统型数据库技术很多都是相互融合.互相借鉴的.传统型数据库强势在于其久经考验 ...
- ie兼容placeholder效果
转载:http://www.jb51.net/article/56244.htm placeholder是HTML5<input>的属性之一,在不同的浏览器( 支持HTML5的现代浏览器 ...
- C语言中printf与i++,C++中的cout
一,printf与i++ 1,C语言中的printf是自右向左输出,. 2,而i++与++i不同的 i++首先取得i的值,下一行时候i = i + 1: ++i,首先i = i + 1,再取得i的值. ...
- 《Spark MLlib 机器学习实战》1——读后总结
1 概念 2 安装 3 RDD RDD包含两种基本的类型:Transformation和Action.RDD的执行是延迟执行,只有Action算子才会触发任务的执行. 宽依赖和窄依赖用于切分任务,如果 ...
- 鸡肋点搭配ClickJacking攻击-获取管理员权限
作者:jing0102 前言 有一段时间没做测试了,偶尔的时候也会去挖挖洞.本文章要写的东西是我利用ClickJacking拿下管理员权限的测试过程.但在说明过程之前,先带大家了解一下ClickJac ...
- $.ajax()——超时设置,增加 loading 提升体验
前端发送Ajax请求到服务器,服务器返回数据这一过程,因原因不同耗时长短也有差别,且这段时间内页面显示空白.如何优化这段时间内的交互体验,以及长时间内服务器仍未返回数据这一问题,是我们开发中不容忽视的 ...
- 由一个场景分析Mysql的join原理
背景 这几天同事写报表,sql语句如下 select * from `sail_marketing`.`mk_coupon_log` a left join `cp0`.`coupon` c on c ...
- MQ 消息队列的比较
目前业界有很多MQ产品,我们作如下对比: RabbitMQ 是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正是如此,使的它变的非常重量 ...
- graphviz画图与中文乱码等问题总结
最近想写一些文档,画一些程序的逻辑图,用了vision,markdown等软件感觉不怎么好用,于是找到graphviz,这款强大的软件.下面介绍一些入门,还有自己在用的过程中遇到的问题 1.中文乱码的 ...