Hallo allerseits,
Auch wenn die Klasse so heißt, hat das Problem selbst nichts mit XML zu tun.
soweit so gut, dann nutze ich diese klasse weiter so:
Dann die main:
Hoffe das Problem wurde deutlich. Sonstige Fehler/Anmerkungen sind sehr willkommen!
Danke.
Auch wenn die Klasse so heißt, hat das Problem selbst nichts mit XML zu tun.
Java:
/*ich habe hier eine klasse, der ich eine collection übergebe, die mit viele personenobjekten gefüllt wird*/
public class XmlPersonDocumentHandler extends DefaultHandler{
public final Collection<XmlPerson> persons;
private String currentAttribute;
private XmlPerson xmlPerson;//bezug auf eine andere Klasse
//private boolean currentPerson;
public XmlPersonDocumentHandler(Collection<XmlPerson> persons){
this.persons=persons;
}
//mehr methoden, zeugs,...
Java:
public class XmlSaxParser {
public XmlSaxParser(String parserType){
super();//warum kann ich dem konstruktor hier nicht parserType übergeben?
}
public void parsePersonFile(String fileName) throws IOException, SAXException{
XMLReader reader = XMLReaderFactory.createXMLReader();
/*ich denke jetzt kommt der eigentliche knackpunkt. in der nächsten zeile müsste ich dem Handler doch eigentlich die Collection übergeben können oder??*/
reader.setContentHandler(new XmlPersonDocumentHandler(null));
reader.parse(new InputSource(new FileInputStream(fileName)));
}
}
Java:
public class XmlPersonMain {
/*und hier müsste ich ja auch noch irgendwie die erzeuge ArrayList übergeben?!?*/
public static void main(String[] args) throws SAXException, IOException{
String xmlPersonFile = "input/xmlPersonFile.xml";
Collection<XmlPerson> xmlPersons = new ArrayList<XmlPerson>();
XmlSaxParser parser = new XmlSaxParser("XmlPersonParser");
parser.parsePersonFile(xmlPersonFile);
}
}
Hoffe das Problem wurde deutlich. Sonstige Fehler/Anmerkungen sind sehr willkommen!
Danke.