Cara Menghuraikan XML Kompleks Menggunakan Penghurai SAX dengan Tindanan Tag
Masalah menggunakan pelaksanaan SAX standard adalah perlu menjejaki lokasi semasa dalam struktur XML, terutamanya apabila berurusan dengan dokumen XML kompleks dengan tag berulang pada tahap yang berbeza. Untuk menangani perkara ini, mari kita perkenalkan konsep tindanan tag.
Pelaksanaan dengan Tindanan Tag
public class Tag { private String name; private int count; // Constructors and other methods }
public class TagStack { private Stack<Tag> stack; // Constructors and other methods }
public class ExampleHandler extends DefaultHandler { private TagStack tagStack; public ExampleHandler() { tagStack = new TagStack(); } @Override public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException { Tag tag = new Tag(localName, 1); tagStack.push(tag); } @Override public void endElement(String uri, String localName, String qName) throws SAXException { Tag tag = tagStack.pop(); if (tag.getCount() > 1) { tag.decCount(); tagStack.push(tag); } } // Other methods... }
Kelebihan Tag Tindanan
Contoh Penggunaan
TagStack tagStack = new TagStack(); SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser parser = factory.newSAXParser(); parser.parse(inputStream, new ExampleHandler(tagStack));
Dengan menggunakan timbunan tag, anda boleh mengurus lokasi semasa dengan berkesan dalam struktur XML dan menghuraikan dokumen XML yang kompleks dengan memudahkan. Pendekatan ini menawarkan penyelesaian yang mantap dan elegan untuk mengendalikan pelbagai senario XML.
Atas ialah kandungan terperinci Bagaimanakah Timbunan Teg Boleh Memudahkan Penghuraian SAX bagi Dokumen XML Kompleks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!