Javaxml学习笔记Word文档格式.docx

上传人:b****5 文档编号:15773265 上传时间:2022-11-16 格式:DOCX 页数:13 大小:19.10KB
下载 相关 举报
Javaxml学习笔记Word文档格式.docx_第1页
第1页 / 共13页
Javaxml学习笔记Word文档格式.docx_第2页
第2页 / 共13页
Javaxml学习笔记Word文档格式.docx_第3页
第3页 / 共13页
Javaxml学习笔记Word文档格式.docx_第4页
第4页 / 共13页
Javaxml学习笔记Word文档格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

Javaxml学习笔记Word文档格式.docx

《Javaxml学习笔记Word文档格式.docx》由会员分享,可在线阅读,更多相关《Javaxml学习笔记Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。

Javaxml学习笔记Word文档格式.docx

StringvendorParserClass="

org.apache.xerces.parsers.SAXParser"

XMLReaerreader=XMLReaderFactory.createXMLReader(vendorParserClass);

InputSourceinputSource=newInputSource(xmlURI);

reader.parse(inputSource);

这样一个xml文档解析过程就完成了。

因为SAX是采用时间处理机制来解析XML

文档的,在解析过程中会触发一些事件,也就是执行特定的方法,你可以实现

这些方法,就可以通过解析xml来做一些事情了

2)处理

SAX2.0定义的核心处理接口一共有

org.xml.sax.ContentHandler

org.xml.sax.ErrorHandler

org.xml.sax.DTDHandler

org.xml.sax.EntityResolver

这些接口是通过

org.xml.sax.XMLReader的setContentHandler(),setEroorHandler(),

setDTDHandler(),setEntityHandler()注册到解析器,这里面最重要的是

org.xml.sax.ContentHandler接口,它具体如下

publicinterfaceContentHandler{

publicvoidsetDocumentLocator(Locatorlocator);

publicvoidstartDocument()throwsSAXException;

publicvoidendDocument()throwsSAXException;

publicvoidstartPrefixMapping(Stringprefix,Stringuri)

throwsSAXException;

publicvoidendPrefixMapping(Stringprifix)

publicvoidstartElement(StringnamespaceURI,StringlocalName,

StringqName,Attributesatts)throwsSAXException;

publicvoidendElement(StringnamespaceURI,StringlocalName,

StringqName)throwsSAXException;

publicvoidcharacters(charch[],intstart,intlength)

publicvoidignorableWhitespace(charch[],intstart,intlength)

publicvoidprocessingInstruction(Stringtarget,Stringdata)

publicvoidskippedEntity(Stringname)

}

通过setContentHandler()将你实现的ContentHandler注册给XMLReader之后,

在解析过程中,系统根据各种条件执行接口中的方法,下面简单说明一下

1)文档定位器

privateLocatorlocator;

publicvoidsetDocumentLocator(Locatorlocator){

this.locator=locator;

通常情况下,你只要如此实现就可以了,这个主要是得到当前解析的位置,

通过得到的locator,你可以使用它的getLineNumber(),getColumnName()等

方法,可以得到文档当前的位置,但要注意的是,这个locator不能保存,只

针对当前的解析有效

2)文档的开头和结尾

publicvoidstartDocument()throwsSAXException{

//解析过程中仅位于setDocumentLocator()方法后调用

publicvoidendDocument()throwsSAXException{

//解析过程中最后调用

大多数情况下你可以不用理他们,只要写个空方法就可以了

3)名字空间的开始和结束

throwsSAXException{

throwsSAXException{

4)元素的开始和结束

StringqName,Attributesatts)throwsSAXException{

StringqName)throwsSAXException{

5)元素的数据

Strings=newString(ch,start,length);

这个是得到当前的元素的文本数据

6)可以忽略的空白

7)实体

8)指令处理

3)例子:

这个是从Java&

XML中复制过来的,

/*

*Createdon2004-11-30

*

*TODOTochangethetemplateforthisgeneratedfilegoto

*Window-Preferences-Java-CodeStyle-CodeTemplates

*/

packagejavaxml2;

/**

*@authoryuangfang

*TODOTochangethetemplateforthisgeneratedtypecommentgoto

importjava.io.*;

importjava.util.*;

importorg.xml.sax.*;

importorg.xml.sax.ext.LexicalHandler;

importorg.xml.sax.helpers.XMLReaderFactory;

importjava.awt.*;

importjavax.swing.*;

importjavax.swing.tree.*;

publicclassSAXTreeViewerextendsJFrame{

privateStringvendorParserClass="

privateJTreejTree;

DefaultTreeModeldefaultTreeModel;

publicSAXTreeViewer(){

super("

SAXTreeViewer"

);

setSize(600,450);

publicvoidinit(StringxmlURI)throwsIOException,SAXException{

DefaultMutableTreeNodebase=newDefaultMutableTreeNode("

XMLDocument:

"

+xmlURI);

defaultTreeModel=newDefaultTreeModel(base);

jTree=newJTree(defaultTreeModel);

buildTree(defaultTreeModel,base,xmlURI);

getContentPane().add(newJScrollPane(jTree),BorderLayout.CENTER);

publicvoidbuildTree(DefaultTreeModeltreeModel,DefaultMutableTreeNodebase,StringxmlURI)

throwsIOException,SAXException{

StringfeatureURI="

try{

XMLReaderreader=XMLReaderFactory.createXMLReader(vendorParserClass);

ContentHandlerjTreeContentHandler=newJTreeContentHandler(treeModel,base);

ErrorHandlerjTreeErrorHandler=newJTreeErrorHandler();

reader.setContentHandler(jTreeContentHandler);

reader.setErrorHandler(jTreeErrorHandler);

reader.setEntityResolver(newSimpleEntityResolver());

featureURI="

http:

//xml.org/sax/features/validation"

reader.setFeature(featureURI,true);

//xml.org/sax/features/nam

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 实习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1