내 코드에 약간 문제가 있습니다. XML 파일을로드하여 파일에서 데이터를 추출하고 싶습니다. 예 : 다른 객체와 속성 내 생각은 Filechooser를 통해 파일을 선택하고 JDOM을 사용하여 XMLparser로 정보를 가져온 다음 오브젝트를 어딘가에 저장합니다. 데이터베이스. 이제 선택한 파일을 읽는 데 문제가 있습니다.DocumentBuilderFactory 및 Filechooser 문제
[Fatal Error] :1:1: Content ist nicht zulässig in Prolog.
org.xml.sax.SAXParseException; systemId: file:/C:/x/; lineNumber: 1;
columnNumber: 1; Content ist nicht zulässig in Prolog.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
at XMLParser.xmlparser.main(xmlparser.java:36)
at startmenu.Startmenu$2.mouseClicked(Startmenu.java:78)
라인 36 라인 78에 오류가 있습니다 :이 오류 메시지가 나타납니다 컴파일 후
공용 클래스 XmlParser가 {
public static void main (String args[]) throws Exception
{
JFileChooser chooser = new JFileChooser();
File f = new File("C:/x");
chooser.setCurrentDirectory(f);
chooser.setFileFilter(new OnlyXML());
chooser.showOpenDialog(null);
String path = f.getPath().toString();
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder docBuilder = builderFactory.newDocumentBuilder();
Document document = docBuilder.parse(new File(path));
document.normalize();
System.out.println(document.getFirstChild().getTextContent());
}
catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
: 내 코드는 더 나은 이해를 위해, 그 모양 36 번 라인 : 선택한 파일이있는 것이 틀림 없습니다. 그러나 무엇을 모르겠습니다. 78 번 줄 : 버튼을 클릭하고 왜 그것이 실수인지 이해하지 못한다면 xmlparser-class를 startmenu-class 밖으로 호출합니까? 여기
그것의 코드 부분 :
xmlparser x = new xmlparser();
x.main(null);
그냥 일반 전화. 나는 누군가가 도움이 될 수 있습니다 희망 대단히 감사합니다 :)
XML 파일이 아닌'C :/x /'를 구문 분석하려고하는 것처럼 오류가 발생합니다. 그리고'JFileChooser'에 의해 파일을 어디서 선택합니까? –
나는 사용자가 선택한 파일을 얻고 그 파일을 분석하려고 시도 할 때'File choosenFile = chooser.getSelectedFile()'을 사용해야한다고 생각한다. –