类来解析xml元素
下了个通过类来解析xml元素的程序,但是有错,提示
org.xml.sax.SAXException: System property org.xml.sax.driver not specified
at org.xml.sax.helpers.XMLReaderFactory.createXMLReader(XMLReaderFactory.java:90)
请各位高手指教
Custormer.java
public class Customer {
// Customer member variables.
public String firstName = "";
public String lastName = "";
public String custId = "";
public void print( PrintStream out ) {
out.println( "Customer: " );
out.println( " First Name -> " + firstName );
out.println( " Last Name -> " + lastName );
out.println( " Customer Id -> " + custId );
}
}
Test.java
import javax.xml.parsers.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import java.io.*;
public class Test
extends DefaultHandler {
private Customer cust = new Customer();
private CharArrayWriter contents = new CharArrayWriter();
public void startElement(String namespaceURI,
String localName,
String qName,
Attributes attr) throws SAXException {
contents.reset();
}
public void endElement(String namespaceURI,
String localName,
String qName) throws SAXException {
if (localName.equals("FirstName")) {
cust.firstName = contents.toString();
}
if (localName.equals("LastName")) {
cust.lastName = contents.toString();
}
if (localName.equals("CustId")) {
cust.custId = contents.toString();
}
}
public void characters(char[] ch, int start, int length) throws
SAXException {
contents.write(ch, start, length);
}
public Customer getCustomer() {
return cust;
}
public static void main(String[] argv) {
System.out.println("xmlhomework3:");
try {
parser.parse(new InputSource(new FileReader("test.xml")), new Test());
Test t = new Test();
xr.setContentHandler( t );
Customer cust = t.getCustomer();
cust.print(System.out);
}
catch (Exception e) {
e.printStackTrace();
}
}
}
org.xml.sax.SAXException: System property org.xml.sax.driver not specified
at org.xml.sax.helpers.XMLReaderFactory.createXMLReader(XMLReaderFactory.java:90)
请各位高手指教
Custormer.java
public class Customer {
// Customer member variables.
public String firstName = "";
public String lastName = "";
public String custId = "";
public void print( PrintStream out ) {
out.println( "Customer: " );
out.println( " First Name -> " + firstName );
out.println( " Last Name -> " + lastName );
out.println( " Customer Id -> " + custId );
}
}
Test.java
import javax.xml.parsers.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import java.io.*;
public class Test
extends DefaultHandler {
private Customer cust = new Customer();
private CharArrayWriter contents = new CharArrayWriter();
public void startElement(String namespaceURI,
String localName,
String qName,
Attributes attr) throws SAXException {
contents.reset();
}
public void endElement(String namespaceURI,
String localName,
String qName) throws SAXException {
if (localName.equals("FirstName")) {
cust.firstName = contents.toString();
}
if (localName.equals("LastName")) {
cust.lastName = contents.toString();
}
if (localName.equals("CustId")) {
cust.custId = contents.toString();
}
}
public void characters(char[] ch, int start, int length) throws
SAXException {
contents.write(ch, start, length);
}
public Customer getCustomer() {
return cust;
}
public static void main(String[] argv) {
System.out.println("xmlhomework3:");
try {
parser.parse(new InputSource(new FileReader("test.xml")), new Test());
Test t = new Test();
xr.setContentHandler( t );
Customer cust = t.getCustomer();
cust.print(System.out);
}
catch (Exception e) {
e.printStackTrace();
}
}
}
...全文
相关推荐
VC xml文件解析类
**解析XML结构**:解析XML文件的根节点和子节点,识别元素、属性和文本内容。这个过程可能涉及到递归函数,因为XML文件的结构可以是嵌套的。4.
xml解析读取通用类
这样的通用类通常会包含解析XML文档、获取元素、获取属性值等功能,并且可能支持错误处理和自定义事件监听。为了实现这样的通用类,你可以设计一个抽象的XML处理器基类,然后根据需求创建具体的处理器子类。
简单实用的Xml解析类
李天助的XML解析类可能实现了以下功能:1. **解析XML文档结构**:该类能够读取XML文件,解析出所有的元素及其嵌套关系。这通常涉及到递归遍历XML树,找到根节点并逐级深入。2.
c++ 关于xml的一个类
这可能涉及到递归地遍历XML文档,识别元素、属性、文本内容等。2. **创建XML文件**:与解析相对应,类也应该能根据内存中的数据结构生成XML文件。
VC解析XML文件-CMarkup的使用详解
在VC++编程环境中,解析XML文件是常见的任务,CMarkup是一个方便的库,它提供了简单易用的API来处理XML文档。本篇文章将详细介绍如何使用CMarkup类来解析和操作XML文件。


Java SE
