- 浏览: 246581 次
- 性别:
- 来自: 济南
文章分类
- 全部博客 (205)
- jQuery (27)
- Flash AS3.0 (0)
- Html5+CSS3 (12)
- C# .Net (19)
- Xml XPath XSLT (5)
- Sql (3)
- JavaScript (20)
- struts2 (23)
- hibernate (24)
- spring (11)
- j2ee (16)
- jsp/java (11)
- 设计模式 (5)
- json (3)
- Java.IO (7)
- Java.Util (7)
- android (8)
- WebService (10)
- MyEclipse SVN (3)
- servlet (1)
- Exception (3)
- 自我学习 (2)
- UML (2)
- java泛型 (1)
- Lucene (7)
- HtmlParser (2)
- 概念理解 (3)
- 正则表达式 (1)
- EMail (1)
最新评论
-
hanmiao:
没用,干巴巴的壹堆代码,没明白到底区别在哪里。
List Set Map 区别! -
e421083458:
偶来过了!
C#单向链表的实现
/*** * 采集SAX解析XML * 优点:解析快,占用内在少;是采集的事件驱动模式解析的; * 事件驱动:它并不需要解析完整个文档,而是按内容的顺序解析文档, * SAX会判断当前读到的字符是否符合XML语法的某部分,如果符合就会触发事件;事件就是回调方法 * * @author Administrator * */ public class SaxXml { /** * 解析后并返回一个对象集合 * * @param inStream * xml输入流 * @return 解析后并返回一个对象集合 * @throws ParserConfigurationException * @throws SAXException * @throws IOException */ public List<Person> saxParser(InputStream inStream) throws ParserConfigurationException, SAXException, IOException { // 创建一个生成SAX对象的工厂 SAXParserFactory saxParserFactory = SAXParserFactory.newInstance(); // 新闻一个SAX解析器 SAXParser saxParser = saxParserFactory.newSAXParser(); // 通过这个对象来解析:是通过驱动事件解析 PersonParser personParser = new PersonParser(); // 把要解析的xml输入流通过personParser解析 saxParser.parse(inStream, personParser); // 关闭流 inStream.close(); // 返回解析后对对象集合 return personParser.getPersons(); } /** * 处理xml的事件类 * @author Administrator * */ private final class PersonParser extends DefaultHandler { private List<Person> persons = null; private Person person = null; private String TAG = null; public List<Person> getPersons() { return persons; } /** * 当执行到第一行时就是:开始文档语法;就会执行这个方法; * 这时我们创建一个Person的List集合 */ public void startDocument() throws SAXException { persons = new ArrayList<Person>(); } /** * 当符合元素语法时就会执行这个方法;我们这里判断的是; * person元素 */ public void startElement(String uri, String localName, String name, Attributes attributes) throws SAXException { if ("person".equals(localName)) { person = new Person(); person.setId(new Integer(attributes.getValue(0))); } TAG = localName; } /** * 这里是判断的是文本节点 */ public void characters(char[] ch, int start, int length) throws SAXException { if (TAG != null) { if ("name".equals(TAG)) { person.setName(new String(ch, start, length)); } else if ("age".equals(TAG)) { person.setAge(new Short(new String(ch, start, length))); } } } /** * 如果一个元素执行完后.就把这个元素放到List集合里面 * 如:当执行到</person>时会执行这个方法 */ public void endElement(String uri, String localName, String name) throws SAXException { if ("person".equals(localName)) { persons.add(person); person = null; } TAG = null; } } }
<?xml version="1.0" encoding="UTF-8"?> <persons> <person id="1"> <name>secn1</name> <age>231</age> </person> <person id="2"> <name>secn2</name> <age>232</age> </person> <person id="3"> <name>secn3</name> <age>233</age> </person> <person id="4"> <name>secn4</name> <age>234</age> </person> </persons>
public void testReadSAX() throws ParserConfigurationException, SAXException, IOException{ SaxXml sax = new SaxXml(); InputStream inStream = this.getClass().getClassLoader().getResourceAsStream("secn.xml"); List<Person> persons = sax.saxParser(inStream); for(Person person:persons){ Log.i("SaxTest", String.valueOf(person.getName())); } }
发表评论
-
java 分页组件
2012-06-19 11:10 815package com.gakes.common.util; ... -
java 发送邮箱
2012-03-25 15:09 744String host = "smtp.163.co ... -
JAVA压缩文件和解压缩文件
2012-03-24 09:56 1015public static void main(String[ ... -
加载图片获取图片参数和画图
2012-03-23 16:09 1018public class Images { public ... -
java的枚举的定义和使用
2012-01-12 23:29 1190public emun EmunName { w ... -
从struts输出打印出来
2012-01-12 09:33 749response.setContentType("t ... -
properties的配置添加、删除、修改操作
2012-01-06 13:26 7343public void saveProperties() ... -
Android应用.国际化-屏幕适配-样式与主题
2011-12-26 21:09 975<?xml version="1.0&q ... -
java分页功能
2011-12-23 15:08 803public class PageUtil { priv ... -
Android采集SharedPreferences保存数据
2011-12-21 22:20 787public class MainActivity exten ... -
采用PULL解析XML
2011-12-21 22:05 912/* * 读取 */ public void ... -
采用DOM解析XML
2011-12-21 20:55 795public class DomXml { /** ... -
Android的单元测试和日志配置
2011-12-19 22:27 792<uses-library android:name=& ... -
java环境变量的配置
2011-12-19 09:08 775java环境变量的配置: 1.打开我的电脑--属性-- ... -
spring 如何获取当前上下文的session cookie
2011-12-14 08:49 1146ActionContext.getContext().getS ... -
Android的PULL解析互联网上的XML文件
2011-12-06 18:19 786public class XmlActivity extend ... -
Struts2 如何获取Request Response Session以及解决中文乱码问题
2011-12-06 18:16 1145首页要实现这三个接口 SessionAware, Servl ... -
JSON解析
2011-12-06 18:01 856json为字符串 String path = &quo ... -
C# 生成 添加 修改 删除 XML节点操作
2011-07-04 20:56 2486XmlDocument xmldoc; Xml ... -
xPATH
2011-06-15 13:48 905XPath 是一门在 XML 文档中查找信息的语言。XPath ...
相关推荐
而SAX解析则采用事件驱动的方式,逐个读取XML元素,适用于处理大型XML文件,因为它不占用大量内存。 在变电站自动化领域,XML被用来标准化和交换设备配置、状态信息等数据。SCL(IED Communication Schema)文件是...
XML解析则涉及到DOM(Document Object Model)、SAX(Simple API for XML)或XPath等技术。开发此类工具时,可能使用Python的BeautifulSoup、Scrapy框架,或者是Java的JAXB、DOM4J库。源码分析可以帮助我们了解其...
2. **XML解析**:Java中可以使用DOM、SAX或StAX API来解析XML文档。DOM一次性加载整个文档,适合小型文件;SAX是事件驱动的,按需读取,适合大文件;StAX允许程序逐个读取事件,提供了更细粒度的控制。 3. **字节流...
而DOM或SAX解析器则能够帮助处理结构化的XML数据,便于进一步的数据分析。 在DMS系统中,数据采集流程可能包括以下几个步骤:首先,系统通过定义数据源,如数据库、API接口或者文件系统,确定需要采集的数据类型和...
可以使用Java的I/O流处理网络数据,利用正则表达式或DOM/SAX解析XML,以及自定义数据结构来存储和操作解析出的数据。 5. 解析示例: 一个简单的HJ212协议解析器可能包含以下组件: - 数据包接收器:负责接收TCP/IP...
Java中常用的XML库有DOM、SAX、JAXB,JSON库有Gson、Jackson、org.json等。解析器会将接收到的字符串转换为对象结构,便于进一步处理。 7. **网络通信**:为了接收和发送hj212协议的数据,开发者可能使用Java的...
在Java中,DOM(文档对象模型)、SAX(简单API for XML)和StAX(流式API for XML)是常见的XML解析方式,它们各有优缺点,适用于不同的场景。 在提供的Java_WOSS1压缩包中,很可能包含了实现以上功能的源代码。...
- **MSXML2**:一个用于处理XML文档的对象模型,提供了DOM和SAX两种解析方式。 - **System.Text.RegularExpressions**:用于处理正则表达式的命名空间,可以用来匹配、替换字符串中的特定模式。 ### 三、核心功能...
而SAX解析方式对XML文档进行事件驱动式解析,不需要解析整个文档,适合对大型XML文档进行高效处理。 7. 系统展现层的MVC模式:模型(Model)、视图(View)和控制器(Controller)分工明确,相互关联。这种设计模式有助于...
2. **库文件**:可能包含了一些用于处理XML、HTTP请求和响应的库,例如DOM或SAX解析器。 3. **配置文件**:可能包含SOAP服务的URL、认证信息以及其他设置。 4. **示例或测试代码**:帮助用户了解如何使用这个...
3. **数据解析**:收集到的数据可能需要解析为结构化信息,这可能涉及到DOM、SAX或Pull解析器对XML数据的处理,或者使用JSON库如Jackson或Gson解析JSON数据。对于HTML,Jsoup库可以方便地提取和操作文档内容。 4. *...
2. 采用SAX解析技术处理XML数据,解析器可自编程。 3. 支持TCP/IP(FTP)网络协议,能跨越局域网和广域网进行数据传输。 使用策略包括: 1. 数据上传时间依据数据接收方需求来确定。 2. 调用频率可根据需要设定,...
Heritrix支持多种解析器,如DOM解析、SAX解析等。 4. **存档模块(Archiving Modules)**:保存抓取到的数据,可以是本地文件系统、数据库或远程存档服务。Heritrix提供了多种存档策略,比如基于文件系统的存档、...
为此,项目采用了SAX(Simple API for XML)方法来进行高效解析。SAX是一种基于事件驱动的XML解析方式,它包含以下关键组件: - **DTDHandler**:用于访问XML DTD内容。 - **ErrorHandler**:用于处理解析过程中的...
6. XML:涵盖了 XML 语法、XML 解析(SAX、DOM)、Dom4j 等内容。 7. JDBC 核心 API:介绍 JDBC 核心 API、JDBC 优化(缓存技术、批处理技术、连接池技术)等内容。 8. 软件工程及 OOAD:涵盖了软件过程和软件活动...
还包括了多种不同的解析技术,如“HTML SAX”,“nekohtml”,“HTMLParser”和“Regex”,这显示了框架提供了多种解析方式以适应不同需求。 5. Handler(处理器): 处理器是用于处理解析后数据的组件。文件中...
- 学习XML语法,理解DOM模型,并使用SAX和DOM4j进行解析。 7. **数据库操作**: - 通过JDBC API进行数据库交互,理解其设计原则,提高数据库访问效率。 - 实现基于XML数据格式的题库处理,掌握SQL前端工具和数据...