Memelihara Susunan Atribut dalam XML selepas Pemprosesan DOM
Walaupun pemprosesan DOM secara semula jadi mengganggu susunan atribut semasa penyirian, adalah mungkin untuk mengekalkan susunan asal menggunakan teknik alternatif.
Keterbatasan DOM:
Dengan reka bentuk, DOM tidak mengutamakan susunan atribut, menganggapnya sebagai maklumat yang tidak penting. Ini bermakna selepas bersiri, susunan atribut mungkin hilang.
SAX sebagai Penyelesaian:
SAX, sebaliknya, menawarkan kawalan berbutir ke atas proses penghuraian. Dengan menggunakan SAX, adalah mungkin untuk mengekalkan susunan atribut dengan melaksanakan pengendali SAX tersuai yang boleh menangkap dan mengekalkan susunan asal.
Kes Penggunaan untuk Pemeliharaan Pesanan Atribut:
Tertib atribut mungkin penting dalam senario tertentu, seperti sebagai:
Memelihara Pesanan dengan SAX:
Untuk mengekalkan susunan atribut dengan SAX, seseorang boleh memanfaatkan contoh kod berikut:
// Suppress DTD validation nagging SAXParserFactory spf = SAXParserFactoryImpl.newInstance(); spf.setNamespaceAware(true); spf.setValidating(false); spf.setFeature("http://xml.org/sax/features/validation", false); spf.setFeature("http://apache.org/xml/features/nonvalidating/load-dtd-grammar", false); spf.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false); // Initialize SAX parser and source SAXParser sp = spf.newSAXParser(); Source src = new SAXSource(sp.getXMLReader(), new InputSource(input.getAbsolutePath())); // Initialize transformer with XSLT stylesheet TransformerFactory tf = TransformerFactory.newInstance(); Source xsltSource = new StreamSource(new File(COOKER_XSL)); xsl = tf.newTransformer(xsltSource); // Perform transformation and preserve attribute order xsl.transform(src, result);
Dengan menggunakan SAX, seseorang boleh mendapatkan semula kawalan ke atas susunan atribut dan mengekalkannya selepas pemprosesan DOM, membolehkan kefungsian yang diingini untuk aplikasi yang memerlukan susunan atribut.
Atas ialah kandungan terperinci Bagaimanakah Kami Boleh Mengekalkan Pesanan Atribut dalam XML selepas Pemprosesan DOM?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!