I share my expercies in running
Step1: download Xerces-J-bin.2.11.0.zip from www.apache.org
Step2: You extract ZIP files .
Step3: run samples
run -> cmd
go to directory of Xerces-J-bin
command line:
(1)java -classpath xercesImpl.jar;xml-apis.jar;xercesSamples.jar sax.Counter -p org.apache.xerces.parsers.SAXParser data/personal.xml
data/personal.xml: 31 ms (37 elems, 18 attrs, 140 spaces, 128 chars)
(2)java -classpath xercesImpl.jar;xml-apis.jar;xercesSamples.jar sax.Writer data/personal.xml
(3)java -classpath xercesImpl.jar;xml-apis.jar;xercesSamples.jar sax.DocumentTracer data/personal.xml
Step4: run your own java project . like this :
│ .classpath
│ .project
│ Info.xml
│ personal-schema.xml
│ personal.dtd
│ personal.xml
│ personal.xsd
│
├─.settings
│ org.eclipse.jdt.core.prefs
│
├─bin
│ ├─com
│ │ └─kylin
│ │ └─form
│ │ MainWindow.class
│ │
│ └─sax
│ └─helpers
│ AttributesImpl$ListNode.class
│ AttributesImpl.class
│
├─lib
│ xercesImpl.jar
│ xml-apis.jar
│
└─src
├─com
│ └─kylin
│ └─form
│ MainWindow.java
│
└─sax
└─helpers
AttributesImpl.java
MainWindow.java
package com.kylin.form;
import java.io.OutputStreamWriter;
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.DefaultHandler;
import org.xml.sax.helpers.XMLReaderFactory;
public class MainWindow extends DefaultHandler{
/**
* @param args
* @throws SAXException
* @throws Exception
*/
private Locator locator;
private int index1=0;
private int index2=0;
public void characters(char[] ch, int start, int length) throws SAXException {
// TODO 自动生成方法存根
//System.out.print( "SAX Event: CHARACTERS[ " );
System.out.print("本书<<");
try {
OutputStreamWriter outw = new OutputStreamWriter(System.out);
outw.write( ch, start,length );
outw.flush();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(">>的目录");
//System.out.println( " ]" );
}
public void endDocument() throws SAXException {
// TODO 自动生成方法存根
System.out.println( "解析结束:" );
}
public void endElement(String uri, String localName, String qName) throws SAXException {
// TODO 自动生成方法存根
//System.out.println( "SAX Event: END ELEMENT[ " + localName + " ]" );
//this.index2=0;
if(qName.equalsIgnoreCase("chapter"))
this.index2=0;
}
public void setDocumentLocator(Locator locator) {
// TODO 自动生成方法存根
this.locator=locator;
}
public void startDocument() throws SAXException {
// TODO 自动生成方法存根
System.out.println( "解析开始: " );
}
public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException {
// TODO 自动生成方法存根
//System.out.println( "SAX Event: START ELEMENT[ " + localName + " ]" );
if(qName.equalsIgnoreCase("chapter")){
index1++;
for ( int i = 0; i < atts.getLength(); i++ ){
//System.out.println(atts.getLength());
String attName=atts.getQName(i);
if(attName.equalsIgnoreCase("title")){
System.out.println("第"+index1+"章:"+atts.getValue(i));
}
}
}
if(qName.equalsIgnoreCase("topic")){
index2++;
for ( int i = 0; i < atts.getLength(); i++ ){
String attName=atts.getQName(i);
if(attName.equalsIgnoreCase("name")){
System.out.println(" 第"+index2+"部分:"+atts.getValue(i));
}
}
}
}
public static void main(String[] args) throws Exception {
// TODO 自动生成方法存根
String vendorParserClass= "org.apache.xerces.parsers.SAXParser";
// String xmlURI="http://localhost:8080/TestXml/contents.xml";
String xmlURI="Info.xml";
XMLReader reader =
XMLReaderFactory.createXMLReader(vendorParserClass);
reader.setContentHandler(new MainWindow());
InputSource inputSource=new InputSource(xmlURI);
reader.parse(inputSource);
}
}
result:
解析开始:
本书<<Boss>>的目录
本书<<Big>>的目录
本书<<chief@foo.com>>的目录
本书<<Worker>>的目录
本书<<One>>的目录
本书<<one@foo.com>>的目录
本书<<Worker>>的目录
本书<<Two>>的目录
本书<<two@foo.com>>的目录
本书<<Worker>>的目录
本书<<Three>>的目录
本书<<three@foo.com>>的目录
本书<<Worker>>的目录
本书<<Four>>的目录
本书<<four@foo.com>>的目录
本书<<Worker>>的目录
本书<<Five>>的目录
本书<<five@foo.com>>的目录
解析结束:
分享到:
相关推荐
**Xerces-Java**是Apache软件基金会开发的一个开源XML解析器,主要针对Java平台。它是基于Java语言实现的,提供了全面的XML处理功能,包括DOM(文档对象模型)、SAX(简单API for XML)和XPath(XML路径语言)等接口...
**Xerces-2_11_0:Java XML解析器详解** Xerces-2_11_0是一款强大的XML解析器,专为Java平台设计。它由Apache软件基金会开发并维护,是Apache Xerces项目的一部分。Xerces在XML处理领域具有广泛的应用,因其高效、...
《Apache Xerces-Java解析库详解》 在Java编程中,XML(eXtensible Markup Language)作为一种数据交换和存储格式,广泛应用于各种场景。处理XML时,我们需要依赖解析器来读取、解析和验证XML文档。Apache Xerces是...
This will keep your application shielded from changes in the underlying implementation of those standard APIs and also gives you more flexibility to change the implementation of the standard pieces ...
Xerces.jar包含了Apache Xerces2 Java XML解析器,它是一个开源项目,提供了对XML 1.0和1.1规范的全面支持,以及XPath 1.0和XSLT 1.0处理能力。 Xerces解析器提供了多种解析XML文档的方式,包括DOM(Document ...
Xerces-C++ makes it easy to give your application the ability to read and write XML data. A shared library is provided for parsing, generating, manipulating, and validating XML documents using the ...
Xerces-Java是Xerces解析器的Java实现,提供了多种XML解析技术,包括DOM(Document Object Model)、SAX(Simple API for XML)和JAXP(Java API for XML Processing)。这些解析方式各有特点: 1. DOM:这是一种将...
在实际应用中,Xerces可以与许多其他Java技术结合使用,如JAXB(Java Architecture for XML Binding)用于对象和XML之间的映射,或者JAXP(Java API for XML Processing)用于更通用的XML处理。此外,Xerces还可以与...
标题 "xerces-2.9.0.jar" 指的是 Xerces-Java 解析器的一个特定版本,这是 Apache 软件基金会提供的一个开源 XML 解析库。Xerces 实现了 W3C 的 XML Schema 1.0 和 1.1 规范,以及 XML 1.0 和 1.1 的解析标准,同时...
2. **下载XERCES**: 你需要从Apache官方网站或者镜像站点下载XERCES的源码包,这里是针对AIX的版本:`xerces-c_2_8_0-powerpc_64-aix-xlc_7_0`。解压该文件,得到源代码。 ### 二、编译安装XERCES 1. **设置环境...
Xerces-C++ makes it easy to give your application the ability to read and write XML data. A shared library is provided for parsing, generating, manipulating, and validating XML documents using the ...
2. **DOM(Document Object Model)**:Xerces-J支持DOM API,将XML文档解析为一个可操作的树形结构,允许开发者通过节点遍历、修改和创建XML文档。 3. **SAX(Simple API for XML)**:对于处理大型XML文档,Xerces...
Xerces-J是一个实现了XML 1.0、XML 1.1、DOM Level 3 Core和Load/Save以及SAX2接口的Java XML解析器。这个版本(2.9.0)提供了最新的特性和改进,以帮助开发者高效地处理XML文档。 在XML解析领域,Xerces-J具有以下...
2. **DOM(Document Object Model)支持**:Xerces-C++实现了W3C的DOM Level 1 Core和Level 2 Core规范,允许开发者以树形结构访问和修改XML文档。 3. **SAX(Simple API for XML)支持**:对于内存限制较大的场景,...
Java源码:XML解析器Xerces是一款经典的开源XML解析库,它为Java开发者提供了处理XML文档的强大工具。Xerces是由Apache软件基金会开发并维护的,是Java平台上的一个重要组件,广泛应用于各种XML相关的项目中。在这个...
XML4C 和 XML4J 是两个并列的项目,而 XML4J 是 Xerces-J——Java 实现——的前身。IBM 将这两个项目的源代码让与 Apache 软件基金会(Apache Software Foundation),他们将其分别改名为 Xerces-C++ 和 Xerces-J。注...
**Xerces-2.6.2.jar** 是一个用于处理XML解析的Java库,它在Java项目中扮演着至关重要的角色。Xerces是Apache软件基金会开发的一个开源项目,其主要目标是提供一个高性能、全功能且符合XML标准的API。这个版本,即...
2. **高性能**:通过优化的内存管理和解析算法,Xerces C++能够在处理大量XML数据时保持高效。 3. **跨平台**:支持多种操作系统,包括Windows、Linux、Unix等,使得代码可以在不同环境下轻松迁移。 4. **丰富的API*...