易截截图软件、单文件、免安装、纯绿色、仅160KB

SAX解析XML(源代码)

package book.xml;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class SaxXML {
 public static List readXML(String fileName)throws Exception{
  SAXParserFactory spf=SAXParserFactory.newInstance();//创建SAX解析器工厂对象
  SAXParser saxParser=spf.newSAXParser();//使用解析器工厂创建解析器实例
 
  //创建SAX解析器要使用的事件监听器对象
  StudentSAXHandler handler=new StudentSAXHandler();
  saxParser.parse(new File(fileName),handler);//开始解析文件
  return handler.getResult();//获取结果
 }
 public static void main(String[] args) {
  String filename="student.xml";
  List studentBeans=null;
  try{
   studentBeans=SaxXML.readXML(filename);
  }catch(Exception e){
   System.err.println(e.getMessage());
  }
  if(studentBeans!=null){
   System.out.println("解析student.xml文档得到的学生信息:");
   for(int i=0;i<studentBeans.size();i++){
    System.out.println(studentBeans.get(i).toString());
   }
  }
 }
 /**
  * SAX的事件监听器,当处理特定的XML文件的时候,就需要为
  * 其创建一个继承DefaultHandler的类来处理特定的事件
  * 可以说,这实际上就是SAX处理XML文件的核心
  * @author wuhailin
  *
  */
 static class StudentSAXHandler extends DefaultHandler{
  //保存已经读到过但还没有关闭的标签
  Stack tagsStack=new Stack();
  List studentBeans=new ArrayList();
  StudentBean bean=null;
  /**当遇到文档的开头的时候,调用这个方法,可以在其中做一些预处理的工作*/
  public void startDocument()throws SAXException{
   System.out.println("--------Parse begin---------");
  }


相关文档:

C#序列化与反序列化Xml,利用范型做通用化处理

public class yzzSerialize
{
private yzzSerialize()
{ }
private static yzzCache cache = new yzzCache();
public static T GetfromXml<T>(string xmlpath, T t)
{
using (FileStream fs = new FileStream(xmlpath, FileMode.Open, FileAcces ......

c# 支持XML序列化的泛型 Dictionary

/// <summary>
/// 支持XML序列化的泛型 Dictionary
/// </summary>
/// <typeparam name="TKey"></typeparam>
/// <typeparam name="TValue"></typeparam>
[XmlRoot("SerializableDictionary")]
public class SerializableDictionary<TKey, TValue& ......

xml procedure

DECLARE @XMLdoc XML
SET @XMLdoc =
'<Book name="SQL Server 2000 Fast Answers">
<Chapters>
<Chapter id="1" name="Installation, Upgrades">
 <CreateDate>2009-12-30</CreateDate>
</Chapter>
<Chapter id="2" name="Configuring SQL Server"/>
<Chapter i ......

dom4j用XPath解析xml 遇到的问题

使用dom4j解析XML时,要快速获取某个节点的数据,使用XPath是个不错的方法,dom4j的快速手册里也建议使用这种方式,标题都写的这么阔气:Powerful Navigation with XPath,呵呵。
方法是使用Document的selectNodes(String XPath)方法,代码写法:
List l = doc.selectNodes("//COLS/COL1");
执行时却抛出以下异常:
Exc ......

JAVA xml LSParserFilter的应用

LSParserFilter---载入与保存
应用org.w3c.dom 实现XML的载入与保存实例
/**
* 实现DOM3的LS(Load & Save)功能
*
* @author S.Well
* @see org.w3c.dom.DOMErrorHandler
* @see org.w3c.dom.ls.LSParserFilter
*/
public class XML_LS implements DOMErrorHandler, LSParserFilter {
private static ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号