俺是 XML XPath的新手,最近因为项目需要,研究了一下基本的两个函数 SelectSingleNode和SelectNodes 是如何实用通配符的,分享以下基本经验: 假设有段XML 如下所示: <PageConfigs> <Page Name="Page1" PageMode="0"> <Position> <Left>190</Left> <Top>0</Top> <…
XML 解析中,如何排除控制字符 今天在解析一个中文的 XML时,始终报错 PCDATA invalid Char value 21 in Entity ,查询了一下这个 21 的ascii 值,发现是: 0001 0101 21 15 NAK ␕ 确认失败回应 怎么会有这样奇怪的字符,我也搞不清楚.google 一下这个错误,发现很多网站都报这样的错误,就是没有一篇文章说明为什么出错了.折腾了半天,后来又看了Libxml的源代码,发现下面的字符要在字符串里面排除掉: 二进制 十进制 十六进制…
原文:XML解析中的namespace初探 初学者在解析XML文件的时候最容易遇到的问题恐怕就是XML的namespace了,本文旨在对namespace做一个简要的介绍. namespace的意义无需多说,和C++,C#等高级语言一样,XML同样面临大量文件放在一起的时候变量重名的问题,所以要用namespace把名字相同意义不同的变量隔离开.本文着重讨论namespace的解析方法. 以下是一个简单的XML文件: <root> <child id = ‘0’> hello wo…
title: xml解析中的sax解析 tags: grammar_cjkRuby: true --- SAXPasser 类: parser(File file, DefaultHandler handler):该方法使用sax解析方式去解析xml文档 DefaultHandler类:重写该类中的一些方法,用于处理xml文档 startElement( .... String qName): 读到开始标签时调用 characterrs(char[] ch,int start,int lengt…
所有 XML 文档中的文本均会被解析器解析. 只有 CDATA 区段(CDATA section)中的文本会被解析器忽略. PCDATA PCDATA 指的是被解析的字符数据(Parsed Character Data). XML 解析器通常会解析 XML 文档中所有的文本. 当某个 XML 元素被解析时,其标签之间的文本也会被解析: <message>此文本也会被解析</message> 解析器之所以这么做是因为 XML 元素可包含其他元素,就像这个例子中,其中的 <nam…
1.SAX解析工具 SAX解析工具:是Sun公司提供的,内置JDK中.org.xml.sax.*         点击查看: DOM解析相关知识:以及DOM和SAX解析的原理(区别) 2.SAX解析的核心API SAXParser类:用于读取和解析xml文件对象    parse(File f, DefaultHandler dh)方法----->解析xml文件        参数一:file:表示读取xml文件        参数二:DefaultHandler:SAX事件处理程序.使用Def…
本文知识点(目录):本文下面的“实例及附录”全是DOM解析的相关内容 1.xml解析的含义    2.XML的解析方式    3.xml的解析工具    4.XML的解析原理    5.实例    6.附录1(获取xml中的所有节点.根标签.根标签下的子标签.子标签中的文本内容)    7.附录2(获取xml中的所有节点.根标签.根标签下的子标签.子标签中的文本内容)    8.附录3(把xml文档中的信息封装到对象中) 1.xml解析的含义 xml文件除了给开发者看,更多情况下是使用程序读取x…
转自:https://www.jianshu.com/p/310e89ee762d 在Struts2框架中,我们知道基本的Action标签只能实现一个url请求对应一个Action处理类.那么我们如果有三个action请求,我们就需要在struts.xml中写三个action标签,同时还需要写三个对应的Action处理类. 例如: 1.我有三个url请求,分别对应增加用户,删除用户和修改用户的三个功能: <a href = "/addUser.action">增加用户<…
没想到搞个dom4j会出这么多怪错.. 最近在研究XBRL GL的有关内容,在项目中要求吧XBRL GL导入到11179注册库中,根据11179建立数据库,然后从XBRL GL分类标准中导入数据到数据库.在导入过程中需要用到dom4j来读取XBRL GL文件,用selectnodes来选取制定的元素,发现总是空值,查看XPATH也没有错,着实困扰了很长时间.后来发现,原来是xmlns在作怪, 把xml文件开头的xmlns属性去掉,一切OK! 另外,如果要选取当前节点的子节点,要用"./节点的相对…
当我们从服务器或者xml文件加载xml进行解析的时候,往往报告 nullpointer 错误.这是原始代码: String short_name = doc.getElementsByTagName("short_name")                        .item(i).getFirstChild().getNodeValue(); 修改为: String short_name ="";                Node n=doc.get…
面试题:DMO和SAX的区别? DOM解析的优点:增删查改操作方便,缺点:占用内存较大,不适合解析大的XML文件: SAX解析的优点:占用内存小,解析快:缺点:不适合增删查改:…
XML是可扩展标记语言 在XML文件中由于更多的是描述信息的内容,所以在得到一个xml文档后应该利用程序安装其中元素的定义名称去除对应的内容,这样的操作称为XML解析. 在XML解析中W3C定义SAX和DOM两中解析方式,这两种解析方式的程序操作如下图: 从图中可以看出,应用程序不是直接对XML文档进行操作的,而是首先由XML分析其对XML文档进项分析,然后应哟程序通过XML分析器所提供的DOM接口或SAX接口对分析结果进项操作,从而间接实现了对XML文档的访问.下面进行具体操作 DOM解析 D…
博文引自:http://zangweiren.iteye.com/blog/647334 Java 6.0对XML支持的新特性有许多方面.比如StAX.针对XML-Web服务的Java架构(JAX-WS)2.0.针对XML绑定的API(JAXB)2.0.XML数字签名API,甚至还支持SQL:2003 'XML'数据类型.在这一篇文章中我们将要介绍的是StAX技术,因为它在我们的开发中将被使用地更加频繁. StAX是Streaming API for XML的缩写,是一种针对XML的流式拉分析A…
##XML 解析 > 其实就是获取元素里面的字符数据或者属性数据. ###XML解析方式(面试常问) > 有很多种,但是常用的有两种. * DOM * SAX ![icon](img/parse_type.png) ###针对这两种解析方式的API > 一些组织或者公司, 针对以上两种解析方式, 给出的解决方案有哪些? jaxp sun公司. 比较繁琐 jdom dom4j 使用比较广泛 ###Dom4j 基本用法 element.element("stu") : 返…
中国的城市xml格式:cities.xml <?xml version="1.0" encoding="utf-8"?> <china> <province name="北京"> <city>东城区</city> <city>西城区</city> <city>崇文区</city> <city>宣武区</city> &…
Xml中SelectSingleNode方法,xpath查找某节点用法 最常见的XML数据类型有:Element, Attribute,Comment, Text. Element, 指形如<Name>Tom<Name>的节点.它可以包括:Element, Text, Comment, ProcessingInstruction, CDATA, and EntityReference. Attribute, 指在<Employee >中的粗体部分. Comment,指形…
一: iOS中xml解析的几种方式简介 1.官方原生 NSXMLParser :SAX方式解析,使用起来比较简单 2.第三方框架 libxml2 :纯C 同时支持DOM与SAX GDataXML: DOM方式解析,谷歌开发,基于libxml2的.是OC中的框架. 3.如果是小文件 建议使用 GDataXML;如果是大文件建议使用NSXMLParser 二: NSXMLParser与GDateXML 1.NSXMLParser的用法 QAQ 试了好几次失败了,暂时没用分析出原因,先把代码放在这里,…
前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xstream 二: 把对象转换成xml android XMl 解析神奇xstream 三: 把复杂对象转换成 xml android XMl 解析神奇xstream 四: 将复杂的xml文件解析为对象 1.建立JavaBeen package com.android10; public class…
简介 XStream 是一个开源项目,一套简单实用的类库,用于序列化对象与 XML 对象之间的相互转换. 将 XML 文件内容解析为一个对象或将一个对象序列化为 XML 文件. 1.下载工具 xstream 下载最新版本地址: https://nexus.codehaus.org/content/repositories/releases/com/thoughtworks/xstream/ 下载完成后 把jar包导入到自己的android项目中 2. 常用的方法: (1)fromXML()方法…
在Android中提供了三种解析XML的方式:SAX(Simple API XML),DOM(Document Objrect Model),以及Android推荐的Pull解析方式.下面就对三种解析方式一一详细阐述. 假设要要解析person.xml文档 <?xml version="1.0" encoding="UTF-8"?><persons>  <person id="1">    <name&g…
[前言]不管是桌面软件开发,还是WEB应用,XML无处不在!然而在平时的工作中,仅仅是使用一些已经封装好的类对XML对于处理,包括生成,解析等.假期有空,于是将PHP中的几种XML解析方法总结如下: 以解析Google API 接口提供的天气情况为例,我们取今天的天气及气温.API地址:http://www.google.com/ig/api?weather=shenzhen [XML文件内容] <?xml version="1.0"?> <xml_api_reply…
1.XML解析(SAX) NSXMLParser SAX 大文件 1)打开文档 - (void)parserDidStartDocument:(NSXMLParser *)parser 2)开始查找起始标签 - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName…
XML是一种通用的数据交换格式,它的平台无关性.语言无关性.系统无关性.给数据集成与交互带来了极大的方便.XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不同而已. XML的解析方式分为四种:1.DOM解析:2.SAX解析:3.JDOM解析:4.DOM4J解析.其中前两种属于基础方法,是官方提供的平台无关的解析方式:后两种属于扩展方法,它们是在基础的方法上扩展出来的,只适用于java平台. 针对以下XML文件,会对四种方式进行详细描述: <?xml version="1.0&q…
在ios 中解析xml 的方法有很多种 1.苹果原生 NSXMLParser:SAX方式解析,使用简单 2.第三方框架 libxml2:纯c语言,默认包含在ios  sdk中,同时支持DOM 和 SAX 方式解析 GDataXML : DOM方式解析,由谷歌开发,基于libxml2 xml 解析建议方式: 大文件选用:NSXMLParser   或者 libxml2 小文件选用:GDataXML xml解析: SAX方式解析: 从上往下,一点一点解析,性能比较好,也是苹果推荐使用的. DOM方式…
昨天由于时间比较匆忙只写了Android中的XML解析的Dom方式,这种方式比较方便,很容易理解,最大的不足就是内容多的时候,会消耗内存.SAX(Simple API for XML)是一个解析速度快并且占用内存少的xml解析器,非常适合用于Android等移动设备.这次使用SAX解析XML文件接着我们来看看另一种解析xml的方式,通过sax来对xml文档进行解析. 自定义Handler SAX解析XML文件采用的是事件驱动,它并不需要解析完整个文档,在按内容顺序解析文档的过程中,SAX会判断当…
前面写了两篇XML解析的Dom和SAX方式,Dom比较符合思维方式,SAX事件驱动注重效率,除了这两种方式以外也可以使用Android内置的Pull解析器解析XML文件. Pull解析器的运行方式与 SAX 解析器相似,也是事件触发的.Pull解析方式让应用程序完全控制文档该怎么样被解析,比如开始和结束元素事件,使用parser.next()可以进入下一个元素并触发相应事件.通过Parser.getEventType()方法来取得事件的代码值,解析是在开始时就完成了大部分处理.事件将作为数值代码…
转载:https://www.cnblogs.com/longqingyang/p/5577937.html 描述 XML是一种通用的数据交换格式,它的平台无关性.语言无关性.系统无关性.给数据集成与交互带来了极大的方便.XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不同而已. XML的解析方式分为四种:1.DOM解析:2.SAX解析:3.JDOM解析:4.DOM4J解析.其中前两种属于基础方法,是官方提供的平台无关的解析方式:后两种属于扩展方法,它们是在基础的方法上扩展出来的,只…
在检查过所有的标签名都没有问题的情况下. xml中的小于号属于非法字符. SQL语句中则可能需要小于号,此时就需要用<![CDATA[  ]]>将小于号包裹,如此不会被xml解析器解析. 如: <isNotEmpty property="endTime" prepend="and"> firstworkdate <= #endTime# </isNotEmpty> 以上代码将会报错:The content of elemen…
2004年7月,php5正式版本的发布,标志着一个全新的PHP时代的到来.PHP5的最大特点是引入了面向对象的全部机制,并且保留了向下的兼容性.程序员不必再编写缺乏功能性的类,并且能够以多种方法实现类的保护.今天小编要和大家分享教程是:解决在php5中simple XML解析错误的问题. 一.SimpleXML概念 在教程开始之前,小编先为大家简单的介绍一下SimpleXML的概念吧.其实SimpleXML函数是PHP核心的组成部分.无需安装即可使用这些函数.SimpleXML函数允许您把XML…
1. DOM(Document Object Model)文档对象模型1. DOM是W3C指定的一套规范标准,核心是按树形结构处理数据,DOM解析器读入XML文件并在内存中建立一个结构一模一样的"树,树各节点和XML各标记对应,通过操纵此"树"来处理XML中的文件, DOM可以读取XML也可以向XML文件中插入数据.相对来说,编程容易,开发人员只需要调用建树的指令,然后利用APIs访问所需的树节点来完成任务. 使用DOM我们可以指定要访问的元素进行随机访问,随意修改文件树,从…