一般的xml文件相信大家都会解析了,但是遇到有命名空间的带前缀的xml,对于新手可能会有点问题。我这里在论坛解答的时候就遇到过一题,见怎么获取XML节点里面的内容,在线求教。这里给大家演示一下。

他的结构是这样子的:

<?xml version="1.0" encoding="utf-8" ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.jiangsuedu.net/justone/"> <SOAP-ENV:Header> <TransactionID>110000000001</TransactionID> <ServiceType>/sms/mt</ServiceType> </SOAP-ENV:Header> <SOAP-ENV:Body> <GateWayID>YNMC</GateWayID> <DstID>15125664368</DstID> <SrcID>099879</SrcID> <FeeID>15125664368</FeeID> <LinkID/> <MsgContent>哈哈</MsgContent> <ServiceID>AYN3913101</ServiceID> <MsgID>1234</MsgID> <CommitTime>201311130101022</CommitTime> </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

比如我们要取MsgContent节点下的内容,我们直接去取是会报错的。比如:

XmlDocument doc = new XmlDocument();
doc.Load("test.xml");
string value = doc.SelectSingleNode("/SOAP-ENV:Envelope/SOAP-ENV:Body/MsgContent").InnerText;

这里value会发生异常,如图:

根据错误提示,已经提醒我们需要命名空间管理器。

XmlDocument doc = new XmlDocument();
doc.Load("test.xml"); XmlElement root = doc.DocumentElement;
string nameSpace = root.NamespaceURI;
XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable); ;
nsmgr.AddNamespace("SOAP-ENV", nameSpace); string value = doc.SelectSingleNode("/SOAP-ENV:Envelope/SOAP-ENV:Body/MsgContent", nsmgr).InnerText;
Console.WriteLine(value);//输出:哈哈

这时我们加上了XmlNamespaceManage进行处理,成功的获取到了我们想要的内容。

转载于:https://blog.51cto.com/csharper/1345985

C# 解析带前缀的Xml节点内容相关推荐

  1. JavaScript 技术篇-textContent获取dom节点text文本内容带空格,js获取带空格的dom节点内容

    我们用 innerText 获取到的文本信息是除掉空格的.但有时根据需求我们需要获取到完整的文本信息. 请看效果图: 用 textContent 就可以很好的解决了. 喜欢的点个赞❤吧!

  2. dom4j生成xml节点内容换行

    row5cell4data1.addCDATA("出生日期: 年 月 日\n或年龄:");

  3. php如何读出xml的节点内容 两个例子

    第一个例子: PHP与XML联系紧密,下面是一个较简单的解析XML节点数据的例子,示例中自定义有一个XML样例文件代码,通过PHP将依次读取出XML节点中的id.name和email数据,是读取较大的 ...

  4. Java解析XML报文内容及标签属性

    前言 JSON格式的报文解析,虽然json串短小精悍,也能有效表达层次结构,但是每个元素只能找到对应的元素值,不能体现更丰富的样式特征.比如某个元素除了要传输它的字符串文本,还想传输该文本的类型.字体 ...

  5. php获取xml某个节点的所有内容,怎样输出XML所有的同名节点内容?

    现有的PHP代码输出XML节点时,只能输出第一个同名节点内容"100". 请问怎样才能输出所有节点的内容呢? 现有代码: /* $xmlstring 原内容: - id*cn 10 ...

  6. xml 纯内容标签_Python小课堂XML 解析

    Python3 XML 解析 一.什么是 XML? XML 指可扩展标记语言(eXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记 ...

  7. python解析xml读取指定属性_python批量修改xml某些内容和属性

    在训练时,有时候需要将jpg格式转换为png格式,顺便也要把jpg标注的xml文件转换为png的xml文件.例如,需要把xml文件中的图像后缀名".jpg"批量去掉,这时候就需要批 ...

  8. XML系列之--解析电文格式的XML(二)

    上一节介绍了XML的结构以及如何创建.讲到了XML可作为一种简单文本存储数据,把数据存储起来,以XML的方式进行传递.当接收到XML时,必不可少的就是对其进行解析,捞取有效数据,或者将第三方数据以节点 ...

  9. 带命名空间的XML的dom4j应用转

    Element root = document.getRootElement();       List   recordenvlist = document.selectNodes("// ...

最新文章

  1. python_day9线程、进程和协程
  2. Linux 常用检测命令
  3. fseek linux 大文件_一文搞懂Linux系统开发
  4. linux命令修改管理员时间,Linux管理员必须知道的sudo命令
  5. 类Xadmin插件--海豚插件
  6. dueros模拟测试没有请求后台_DuerOS开放平台
  7. (剑指Offer)面试题49:把字符串转换为整数
  8. 织梦文章页模板使用php语法,织梦文章页面模板顶一下踩一下调用教程
  9. (转自孟岩的CSDN)理解矩阵
  10. 基于Python的管理系统(附源码)
  11. 如何在群晖系统中安装cpolar(群晖7.X版)
  12. mongodb下载安装和基本操作
  13. zblog模板php免费三栏,天兴工作室三栏布局zblog模板
  14. Gson的基本介绍和使用
  15. DHCP如何分配IP地址
  16. golang学习之negroni对于第三方中间件的使用分析
  17. NOJ——1665夜神的思考(YY+组合问题+分类讨论)
  18. python1000以内水仙花数_python 计算1000以内的水仙花数
  19. ginapi服务器性能,基于gin web框架搭建RESTful API服务
  20. 删除word文件限制编辑密码

热门文章

  1. 【mybatis】时间范围 处理时间格式问题
  2. 1、webpack入门例子。
  3. 运行js提示库没有注册错误8002801d的解决办法
  4. Apache下禁止显示网站目录结构的方法
  5. 对TRIM SCSI命令的一些分析
  6. BZOJ1251序列终结者——非旋转treap
  7. java基础-多线程应用案例展示
  8. 执行php程序的时候,报错Allowed memory size of 134217728 bytes exhausted (tried to allocate 83 bytes)...
  9. 使用dd工具对磁盘RAID5和10进行I/O性能测试
  10. php处理管道文件流