关于C#解析XML的问题

问题描述

我用xmltextreader去读一个xml文件,我要如何才能区分出如下两种情况呢?<a/>和<a>其实也就是怎么识别出直接结束的元素。上面两种节点的nodetype都是element。试了好多方法都不能区分这两种表达方式啊。

解决方案

本帖最后由 gbh024 于 2015-01-26 11:19:17 编辑
解决方案二:
为什么要区分?他俩在语法上本来就是相同的东西
解决方案三:
<a></a>和<a/>本来就是等价的区别仅仅是第一种写法可以有innertext,第二种写法没有而已
解决方案四:
放到一起算是完整的闭合标签。
解决方案五:
引用1楼Z65443344的回复:

为什么要区分?他俩在语法上本来就是相同的东西

因为我要知道它下面是否还包含子元素,包含和不包含会有不同的处理。例如下面的情况:<a/><a><b><c></a>如果是第二个的情况我要处理b和c的
解决方案六:
LinqToXMLXElemente;if(e.Any()){//有子节点}else{//没有子节点}

时间: 2025-01-31 05:47:36

关于C#解析XML的问题的相关文章

java-jquery解析xml怎样把结果存到list或者hashmap最后生成excel表格

问题描述 jquery解析xml怎样把结果存到list或者hashmap最后生成excel表格 $.ajax({ type:""GET"" dataType:""XML"" timeout: 1000 //设定超时 cache: false //禁用缓存 url:""${pageContext.request.contextPath}/xml/from.xml"" success:fun

unity3d-Unity3D 实时解析XML时报错

问题描述 Unity3D 实时解析XML时报错 获取网络时间: IEnumerator GetTime() { WWW www = new WWW(timeURL); while (!www.isDone) { yield return www; Debug.Log("Doneeeeeeeeeeeeee" + www.text); ParseXml(www); } }` 后得到:` <?xml version="1.0" encoding="GB23

JS解析XML文件和XML字符串详解

 JS解析XML文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 <script type='text/javascript'> loadXML = function(xmlFile){ var xmlDoc=null; //判断浏览器的类型 //支持IE浏览器 if(!window.DOMParser && windo

python sax模块解析xml遇到非法字符怎么解决?

问题描述 python sax模块解析xml遇到非法字符怎么解决? 1C 用python的sax模块解析xml的时候出现非法字符直接停止了,百度搜到有大神说用回调函数处理当前的非法字符或者跳过直接运行接下来的内容.不过具体应该怎么实现呢?求大神赐教.下面是我的代码,非法字符是出现再其中的很多个tagname=""url""中的内容,能在原来的基础上改就更好了,再次感谢 import xml.saxclass XmlHandler( xml.sax.ContentHa

解析xml文档的一个简单php类

xml //原创,可以自由使用,欢迎提出改进意见, <?PHP//xml中的元素class XMLTag{ var $parent;//父节点 var $child;//子节点 var $attribute;//本节点属性 var $data;//本节点数据 var $TagName;//本节点名称 var $depth;//本节点的深度,根节点为1 function XMLTag($tag='') {  $this->attribute = array();  $this->child

使用PHP 5.0 轻松解析XML文档(1)

xml 用sax方式的时候,要自己构建3个函数,而且要直接用这三的函数来返回数据, 要求较强的逻辑. 在处理不同结构的xml的时候, 还要重新进行构造这三个函数,麻烦! 用dom方式,倒是好些,但是他把每个节点都看作是一个node,操作起来要写好多的代码, 麻烦! 网上有好多的开源的xml解析的类库, 以前看过几个,但是心里总是觉得不踏实,感觉总是跟在别人的屁股后面. 这几天在搞java, 挺累的,所以决定换换脑袋,写点php代码,为了防止以后xml解析过程再令我犯难,就花了一天的时间写了下面一

用php5轻松解析xml

php5|xml 用sax方式的时候,要自己构建3个函数, 而且要直接用这三的函数来返回数据, 要求较强的逻辑. 在处理不同结构的xml的时候, 还要重新进行构造这三个函数,麻烦! 用dom方式,倒是好些,但是他把每个节点都看作是一个node, 操作起来要写好多的代码, 麻烦! 网上有好多的开源的xml解析的类库, 以前看过几个, 但是心里总是觉得不踏实, 感觉总是跟在别人的屁股后面. 这几天在搞java, 挺累的, 所以决定换换脑袋, 写点php代码, 为了防止以后xml解析过程再令我犯难,

java中用dom解析xml的经典入门级文档

dom|xml 一.前言 用Java解析XML文档,最常用的有两种方法:使用基于事件的XML简单API(Simple API for XML)称为SAX和基于树和节点的文档对象模型(Document Object Module)称为DOM.Sun公司提供了Java API for XML Parsing(JAXP)接口来使用SAX和DOM,通过JAXP,我们可以使用任何与JAXP兼容的XML解析器.JAXP接口包含了三个包:(1)org.w3c.dom W3C推荐的用于XML标准规划文档对象模型

VC++中利用MSXML解析XML文档

c++|xml 四.程序实现 下面通过一个具体的实例来说明在VC++中如何利用MSXML解析XML文档. (1)源XML文档(xmlfile.xml)如下: <?xml version="1.0" encoding="GB2312"?> <Device id="10041" name="设备1"> <Type>13</Type> <TypeName>保护</Ty

使用Digester解析XML文档示例

xml|示例 一. 概述 解析XML文档方面有不少的方法,也有不少的工具包可用,这里介绍的是来自Apache Jakarta的Digester,使用其解析XML文件非常方便而不需要过多的关心底层的具体解析过程. Digester最早出现在Struts中,后来随着Struts的发展以及其的公用性而被提到commens中独自立项,其底层实现的是SAX解析.当前版本为:1.5 二. 正文 1. 安装与配置 使用Digester需要如下几个软件包: Digester ,BeanUtils, Collec