Xml文件操作的其中一个使用方法:
XmlNodeList students = doc.DocumentElement.ChildNodes;//Student节点集合
foreach (XmlNode stu in students)
{
XmlElement element = (XmlElement)stu;
string stuId = element.GetAttribute("StuID");
XmlNode nameNode = element.SelectSingleNode("StuName");//获取Person节点的Name节点
string name = nameNode.InnerText;
Console.WriteLine(stuId + "," + name);
}
案例xml文件
又一个解析xml文件的方法:
public static void WriteTOXmlStatusLog(string responseStr)
{ string pathConfig = App.GetSetting("TracePath");
if (!string.IsNullOrWhiteSpace(pathConfig))
{
try
{
Log4NetTraceListener log = new Log4NetTraceListener(pathConfig + @"\UserInterface");
var doc = new System.Xml.XmlDocument();
doc.LoadXml(responseStr);
string error = "";
var errorNode = doc.SelectSingleNode("/returnsms/errorstatus/error");
if (errorNode != null)
{
error = errorNode.InnerText;
}
if (string.IsNullOrWhiteSpace(error))
{
XmlNodeList callboxList = doc.DocumentElement.ChildNodes;
foreach (XmlNode item in callboxList)
{
XmlElement element = (XmlElement)item;
string mobile= element.GetElementsByTagName("mobile")[].InnerText;
//string mobile = element.SelectSingleNode("/statusbox/mobile").InnerText;
string taskid = element.GetElementsByTagName("taskid")[].InnerText;
string status = element.GetElementsByTagName("status")[].InnerText;
string receivetime = element.GetElementsByTagName("receivetime")[].InnerText;
string extno = element.GetElementsByTagName("extno")[].InnerText;
string errorcode = element.GetElementsByTagName("errorcode")[].InnerText;
log.WriteLine("获取状态报告返回xml信息:" + "mobile:" + mobile + ",taskid:" + taskid + ",status:" + status + ",receivetime:" + receivetime + ",errorcode:" + errorcode + ",extno:" + extno);
} }
else
{
string remark = doc.SelectSingleNode("/returnsms/errorstatus/remark").InnerText;
log.WriteLine("获取状态报告返回xml信息:error:" + error + ",remark:" + remark);
} }
catch (Exception ex)
{ throw new Exception("获取xml状态报告信息写入日志出错:" + ex);
}
}
xml文件:
//错误时的返回
<?xml version="1.0" encoding="utf-8" ?>
<returnsms>
<errorstatus>
<error></error>-------------错误码
<remark>用户名或密码不能为空</remark>-------------错误描述
</errorstatus>
</returnsms> //正确时的返回
<?xml version="1.0" encoding="utf-8" ?>
<returnsms>
<statusbox>
<mobile></mobile>-------------对应的手机号码
<taskid></taskid>-------------同一批任务ID
<status></status>---------状态报告----:发送成功,:发送失败
<receivetime>-- ::</receivetime>-------------接收时间
<errorcode>DELIVRD</errorcode>-上级网关返回值,不同网关返回值不同,仅作为参考
<extno></extno>--子号,即自定义扩展号
</statusbox>
<statusbox>
<mobile></mobile>
<taskid></taskid>
<status></status>
<receivetime>-- ::</receivetime>
<errorcode></errorcode>
<extno></extno>
Xml文件操作的其中一个使用方法:的更多相关文章
- 如何:执行大型 XML 文档的流式转换 大XML文件解析入库的一个方法
w Parsing Huge XML Files Incrementally http://pclib.github.io/safari/program/python-cookbook/Text/ch ...
- 我来讲讲在c#中怎么进行xml文件操作吧,主要是讲解增删改查!
我把我写的四种方法代码贴上来吧,照着写没啥问题. 注: <bookstore> <book> <Id>1</Id> <tate>2010-1 ...
- 7.数据本地化CCString,CCArray,CCDictionary,tinyxml2,写入UserDefault.xml文件,操作xml,解析xml
数据本地化 A CCUserDefault 系统会在默认路径cocos2d-x-2.2.3\projects\Hello\proj.win32\Debug.win32下生成一个名为UserDef ...
- C# XML文件操作
C# XML文件操作 运行环境:Window7 64bit,.NetFramework4.61,C# 6.0: 编者:乌龙哈里 2017-02-09 参考 LINQ to XML System.Xml ...
- PHP对XML文件操作之属性与方法讲解
DOMDocument相关的内容. 属性: Attributes 存储节点的属性列表(只读) childNodes 存储节点的子节点列表(只读) dataType 返回此节点的数据类型 Definit ...
- XML文件操作之dom4j
能够操作xml的api还是挺多的,DOM也是可以的,不过在此记录下dom4j的使用,感觉确实挺方便的 所需jar包官网地址:http://www.dom4j.org/dom4j-1.6.1/ dom4 ...
- XML文件操作类--创建XML文件
这个类是在微软XML操作类库上进行的封装,只是为了更加简单使用,包括XML类创建节点的示例. using System; using System.Collections; using System. ...
- C# XML文件操作类XmlHelper
类的完整代码: using System;using System.Collections;using System.Xml; namespace Keleyi.Com.XmlDAL{public c ...
- SpringBatch Sample (三)(XML文件操作)
前篇关于Spring Batch的文章,讲述了Spring Batch 对CSV文件的读写操作. 本文将通过一个完整的实例,与大家一起讨论运用Spring Batch对XML文件的读写操作.实例流程是 ...
随机推荐
- MFC 中编辑框数字限制范围
http://www.cnblogs.com/ziwuge/archive/2011/11/15/2249541.html void CSAAlt::OnEnChangeSlocp()//样本盘号输入 ...
- Mvc4系列文章
http://www.cnblogs.com/duanshuiliu/tag/MVC/
- 清华申请退学博士作品:完全用Linux工作
http://www.cnblogs.com/cbscan/articles/3252872.html 下文地址 http://blog.oldboyedu.com/use-linux/ 按: 尽管我 ...
- python string module
String模块中的常量 >>> import string >>> string.digits ' >>> string.letters 'ab ...
- 解决wamp的Apache服务器不能重启
由于工作需要,现在开始研究PHP语言.刚开始搭建服务器环境就困难重重啊.首先看了下配置说明,很复杂很复杂(超级想念Visual Studio).然后问了下群里的老鸟,他们都是安装WAMPServer环 ...
- 微信公众平台开发教程(八)Session处理
微信公众平台开发教程(八)Session处理 在微信窗口,输入的信息有限,我们需要将一些信息分多次请求. 比如:在进行用户绑定时,我们需要输入用户的相关信息,比如:用户名.密码,或者姓名.电话号码,服 ...
- Linux重定向相关(转载帖,供自己cookbook)
Linux重定向是指修改原来默认的一些东西,对原来系统命令的默认执行方式进行改变,比如说简单的我不想看到在显示器的输出而是希望输出到某一文件中就可以通过Linux重定向来进行这项工作. Linux默 ...
- 函数调用方式__stdcall、__cdel
函数调用方式关系对比如下: 关键字 调用规则 参数传递方向 返回 参数寄存器 堆栈的清除 __cdecl C语言 从右向左 EAX 无 调用者 __stdcall Win32标准 从右向左 EAX ...
- 动态加载、移除、替换JS和CSS
//动态加载一个js/css文件 function loadjscssfile(filename, filetype) { if (filetype == "js") { var ...
- Hbase预分区种子生成
提前生成Hbase预分区种子,在创建Hbase表时也进行相应的预分区,同时设置预分区的个数,预分区的范围对应Hbase监控页面的Region Server的start key与End key,从而使数 ...