Using Xerces 2 Java edition in your application

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>>的目录

解析结束:

 

注意!此信息未认证,请谨慎判断信息的真实性!

全部评论
空

相关内容推荐

头像
2022-12-02 00:03
点赞 评论 收藏
转发
头像
2022-12-16 02:48
门头沟学院_2022
点赞 评论 收藏
转发
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像 头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
点赞 收藏 评论
分享

全站热榜

正在热议