为什么不接受 startElement 方法?
Why is the startElement method not being accepted?
我正在测试 SaxParser 并重写了 DefaultHandler 及其方法!
出于某种原因,我无法覆盖方法 "startElement"。
它没有事件开始。我用 syso 命令测试了它。有人能解决我的问题吗?提前致谢!
import java.io.File;
import java.io.IOException;
import java.util.LinkedList;
import java.util.jar.Attributes;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class Parserusw {
static LinkedList<String>list = new LinkedList<String>();
public static void main(String[]args) throws ParserConfigurationException, SAXException{
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();
DefaultHandler handler = new DefaultHandler(){
@Override
public void startElement(String uri, String localName,String qName,Attributes attributes) throws SAXException{
if(qName.equals("Start"))
Parserusw.list.add("Start");
Parserusw.list.add("Start1");
Parserusw.list.add("Start2");
System.out.println("uidwwd");
}
@Override
public void characters(char[] ch, int start, int length) throws SAXException {
String text;
text = String.valueOf(ch, start, length);
if(text.equals("Ende"))
Parserusw.list.add("Ende");
}
@Override
public void endElement (String namespaceURI,String localName, String qName){
for(String s:Parserusw.list){
System.out.println(s);
}
System.out.println("uidwwd");
}
};
try {
saxParser.parse(new File("c:\Users\User\GP\Arbeit\src\iwasmitparser\test.xml"),handler);
} catch (IOException e) {
e.printStackTrace();
}
}
}
你输入错了Attributes
class:
import java.util.jar.Attributes;
应该是org.xml.sax
的那个。
我正在测试 SaxParser 并重写了 DefaultHandler 及其方法! 出于某种原因,我无法覆盖方法 "startElement"。 它没有事件开始。我用 syso 命令测试了它。有人能解决我的问题吗?提前致谢!
import java.io.File;
import java.io.IOException;
import java.util.LinkedList;
import java.util.jar.Attributes;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class Parserusw {
static LinkedList<String>list = new LinkedList<String>();
public static void main(String[]args) throws ParserConfigurationException, SAXException{
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();
DefaultHandler handler = new DefaultHandler(){
@Override
public void startElement(String uri, String localName,String qName,Attributes attributes) throws SAXException{
if(qName.equals("Start"))
Parserusw.list.add("Start");
Parserusw.list.add("Start1");
Parserusw.list.add("Start2");
System.out.println("uidwwd");
}
@Override
public void characters(char[] ch, int start, int length) throws SAXException {
String text;
text = String.valueOf(ch, start, length);
if(text.equals("Ende"))
Parserusw.list.add("Ende");
}
@Override
public void endElement (String namespaceURI,String localName, String qName){
for(String s:Parserusw.list){
System.out.println(s);
}
System.out.println("uidwwd");
}
};
try {
saxParser.parse(new File("c:\Users\User\GP\Arbeit\src\iwasmitparser\test.xml"),handler);
} catch (IOException e) {
e.printStackTrace();
}
}
}
你输入错了Attributes
class:
import java.util.jar.Attributes;
应该是org.xml.sax
的那个。