0
아마도 이것은 n00b 질문입니다.Sax 파서 : processingInstruction()이 호출되지 않았습니다
은 그 같은 XML 파일을 구문 분석하려고 :
<?xml version="1.0" encoding="UTF-8" ?>
<test>
<a></a>
</test>
를 다음 코드 :
public static void parse(File f) {
final DefaultHandler handler = new DefaultHandler() {
@Override
public void processingInstruction(String target, String data) throws SAXException {
System.out.println("Processing Instruction");
}
};
SAXParserFactory.newInstance().newSAXParser().parse(f, handler);
}
I 출력 "Processing Instruction"
이 표준 출력에 인쇄 될 것으로 기대합니다. 그러나 이것은 일어나지 않습니다. 왜 누군가 말해 줄 수 있니? 의 JavaDoc에서
답변 해 주셔서 감사합니다. 또 다른 질문 : 파일에 유효한 XML 선언이 있는지 알아낼 수 있습니까? – Martin
@Martin : 선언이 유효하지 않은 경우 예외를 throw합니다. –
즉, xml 선언은 처리 명령어가 아니므로 파서에서 하나로서보고해서는 안됩니다. –