[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Serialization with SAX
- From: Johannes Lichtenberger <Johannes.Lichtenberger@uni-konstanz.de>
- To: xml-dev@lists.xml.org
- Date: Thu, 15 Jan 2009 22:29:34 +0100
Hello,
I want to be able to serialize an input XML document to an output
document. It seems to be stupid, but I want to read until the say 2000th
page-element and then skip everything. It seems I can serialize it with
something like
SAXTransformerFactory fac = (SAXTransformerFactory)TransformerFactory.newInstance();
handler = fac.newTransformerHandler();
Transformer t = handler.getTransformer();
t.setOutputProperty(OutputKeys.METHOD, "xml");
t.setOutputProperty(OutputKeys.INDENT, "yes");
handler.setResult(new StreamResult(new FileOutputStream(filename)));
Now I'm not sure how to implement something like a check against a counter within every callback-method. Something like
private long counter = 0;
/**
* {@inheritdoc}
*/
public void startElement(String namespaceURI, String localName, String qName,
Attributes atts) throws SAXException {
if (localName.equalsIgnoreCase("page")) {
counter++;
}
if (counter < ARTICLES) {
// TODO: everything which really has to be done to serialize the doc.
}
}
I'm not sure where to get the source for a full serialization implemention and add "if (counter < ARTICLES) {" to every method. Or simply how to add such a check ;-) I simply want to have 2000 pages (page-Elements with all descendants) in the output and then skip everything else.
greetings,
Johannes
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]