Rumah Kewangan Peribadi Parsing XML dengan SAX - dummies

Parsing XML dengan SAX - dummies

Isi kandungan:

Video: iron-ajax… wat?! -- Polycasts #26 2024

Video: iron-ajax… wat?! -- Polycasts #26 2024
Anonim

Perkataan acara merangkumi semua jenis imej. Untuk bukan program, satu peristiwa adalah "sesuatu yang berlaku. "Jika anda digunakan untuk menangani tingkap dan bingkai di Jawa, maka anda mungkin memikirkan peristiwa sebagai kejadian yang membangkitkan sekeping kod. Sebagai contoh, klik tetikus pengguna atau kekunci pintar membuat kod yang menetapkan pilihan dan memaparkan kotak OK. Klik atau kekunci itu sendiri dipanggil acara kerana ia berlaku secara bebas daripada program yang dijalankan. Hanya pengguna yang tahu bila dia akan menekan butang itu. Dan apabila butang ditekan, sebahagian daripada program Java hanya bangun dan menangani keadaan. Senario ini dipanggil pengaturcaraan berasaskan acara .

Pengaturcaraan yang dipacu acara

SAX adalah didorong oleh peristiwa . Sebagai contoh, anda akan tidur untuk tidur malam yang baik. Anda menjangkau untuk menetapkan jam penggera anda dan kemudian menyelesaikannya, menutup mata anda, dan menjadi tidak sedarkan diri selama beberapa jam. Kemudian satu peristiwa penting berlaku: Masa tertentu tiba. Apabila acara berlangsung, jam penggera masuk ke mod "bangun" - dan membuat keadaan yang mengerikan untuk membangkitkan anda dari tidur yang tenang.

Berikut adalah satu lagi senario. Anda seorang eksekutif yang sibuk dan anda akan keluar selama beberapa jam, tetapi anda tidak mahu melepaskan sebarang perniagaan penting. Sebelum meninggalkan pejabat, anda memberitahu pembantu anda, "Panggil saya jika ada sesuatu yang penting. "Pengeluaran pesanan ini adalah serupa dengan menetapkan jam penggera. Anda memberitahu pembantu anda (jam penggera anda) untuk membangunkan anda jika acara berlaku. Membuat permintaan ini kepada pembantu anda (atau jam penggera anda) dipanggil pendaftaran . Dalam kedua-dua senario, anda mendaftar diri anda dengan perkhidmatan bangun. Selepas anda mendaftar, anda boleh mengejar aktiviti tidak aktif anda dengan santai, tanpa menghiraukan semua urusan sebenar sehingga berlaku beberapa peristiwa. Kemudian …

Cincin, cincin. Telefon bimbit anda sedang hollering pada anda. "Hello? "

" Hello. Ini pembantu awak. Saya mempunyai angka jualan untuk suku pertama. Mereka adalah 1 juta, 4 juta, dan 2 juta. "

" Mari lihat. Itulah jumlah 7 juta, "kata kamu. "Saya akan perhatikan pada PalmPilot saya. Terima kasih. "Kamu gantung.

Beberapa saat kemudian, anda mendapat panggilan lain. "Presiden Big Bucks, Inc., mahu menutup perjanjian itu. Mereka bercakap 10 juta dolar. "

"Hmm," awak balas. "Itu akan membawa pendapatan tahunan kami sehingga 17 megabucks. Saya akan menyimpan maklumat itu dalam aplikasi spreadsheet saya. Terima kasih kerana memanggil. "

Setiap interaksi ini dikenali sebagai panggilan balik .Terdahulu pada hari itu, apabila anda mendaftarkan hasrat anda dengan pembantu, anda meminta panggilan balik. Kemudian, apabila sesuatu peristiwa berlaku, pembantunya membuat panggilan balik untuk memaklumkan anda tentang acara tersebut. Dalam istilah pengaturcaraan Java, pembantu panggilan salah satu daripada banyak kaedah anda (salah satu subprogram Java anda).

Intipati pemrograman yang didorong oleh acara

Pengaturcaraan yang didorong oleh acara mempunyai tiga bahagian:

  • Pendaftaran: Anda mendaftarkan hasrat anda untuk dimaklumkan apabila kejadian berlaku. Anda mendaftarkan hasrat ini dengan sekeping kod lain - objek lain, biasanya sesuatu yang anda impor (seperti sekeping kod yang merupakan sebahagian daripada API orang lain). Objek ini kemudian menonton, dari belakang tabir, untuk kejadian yang anda tentukan.
  • Kejadian berlaku: Satu peristiwa tertentu berlaku.
  • Panggil balik: Sekeping kod lain melakukan panggilan balik. Salah satu kaedah anda akan dipanggil.

Dua jenis kod

Membezakan antara kod aktif dan kod pasif berguna:

  • Kod aktif mempunyai kaedah utama. Kod aktif, sebaik sahaja ia mula berjalan, mengambil peringkat pusat. Kod aktif mengandungi benang pelaksanaan yang mengawal keseluruhan permainan bola.
  • Kod pasif hanya duduk di sana, menunggu dipanggil. Kelas Dadu pasif tidak melakukan apa-apa sehingga beberapa kod lain memanggil Dadu. gulung().

Sekarang, anda mungkin berfikir bahawa kod pasif adalah semua yang anda perlukan untuk pengaturcaraan yang didorong oleh acara tetapi tidak. Untuk pengendalian peristiwa, anda memerlukan langkah pendaftaran ini. Kod pasif bermula dengan mendaftar dengan beberapa kod lain.

Untuk menguatkan tanggapan pendaftaran ini, fikirkan contoh dari dunia tikus, tingkap, dan butang di skrin. Anda membuat tingkap atau bingkai. Anda mahu bingkai anda bertindak balas terhadap klik mouse, jadi anda mengeluarkan arahan berikut:

. addMouseListener (ini);

Perintah ini mendaftarkan bingkai anda dengan butang. Perintah mengatakan, pada dasarnya, Setiap kali peristiwa tetikus berlaku, panggil salah satu kaedah pengendalian tetikus bingkai . Kemudian, apabila pengguna mengklik tetikus, bingkai mendapat panggilan balik. Komputer memanggil kaedah tetikusClick tetingkap.

Acara SAX

Pastinya, SAX adalah yang didorong oleh peristiwa, tetapi ini tidak bermakna program SAX menunggu klik tetikus. Sebaliknya, kod SAX mengikuti model daftar-peristiwa-panggilan balik yang diterangkan dalam beberapa perenggan terakhir. Setiap program SAX mempunyai dua keping kod yang sangat diperlukan:

  • Sekeping kod yang anda tulis - dipanggil pengendali . (Pengendali anda boleh memanjangkan kelas DefaultHandler yang telah ditulis sebelumnya.)
  • Pengendali adalah seperti eksekutif juta dolar pada bahagian sebelumnya.
  • Sekeping kod yang biasanya anda tidak menulis - parser . Parser memainkan peranan seperti pembantu eksekutif. Java 1. 4 API mempunyai parser terbina dalam. Anda membuat contoh parser ini, dan kemudian anda mendaftarkan pengendali anda dengan contoh parser itu. Sebenarnya, anda memberitahu contoh untuk memanggil semula pengendali anda setiap kali sesuatu berlaku.

Apa-apa yang berkaitan dengan XML adalah baru, dan masih dalam keadaan fluks. Kerana ini, terminologi ditambal bersama dalam beberapa cara yang unik. Semasa membangunkan versi SAX 2, sesetengah pakar mempunyai perayaan nama baru. Apa yang lazim disebut "parser" dimuatkan dalam antara muka Java bernama XMLReader. Sudah tentu ada kelas bernama org. xml. sax. Parser, tetapi kelas mendapat usang (yang bermaksud bahawa anda harus mengikisnya dari dasar kasut anda). Untuk membuat perkara menjadi lebih rumit, masih ada alat parsing lain, javax. xml. parsers. SAXParser. Anda menggunakan SAXParser ini untuk menjadikan diri anda seorang XMLReader. Dengan apa-apa nasib, anda akan menjadi terbiasa dengan istilah ini yang rumit. Buat masa ini, ingatlah bahawa apa yang disebut "parser" biasanya merupakan contoh XMLReader.

Senario daftar-dan-panggil balik adalah yang menjadikan acara SAX didorong. Sekarang perkara yang lucu adalah, acara SAX tidak ketara. Acara SAX tidak akan mengingatkan anda tentang kekunci pintasan atau klik butang. Dalam SAX, parser itu mengimbas dokumen XML dari atas ke bawah. Apabila parser menghadapi sesuatu yang menarik, parser memadamkan acara dan memanggil pengendali. Kemudian, ia terpulang kepada pawang untuk melakukan sesuatu mengenai pertemuan yang menarik ini.

Parsing XML dengan SAX - dummies

Pilihan Editor

Cara Buat Outlet untuk Pengawal Peta di Apl iOS anda - dummies

Cara Buat Outlet untuk Pengawal Peta di Apl iOS anda - dummies

Jika anda mahu menggunakan MapController untuk apl iOS anda, anda memerlukan sebuah saluran keluar. Dengan Pemilih peta anda dijaga, tiba waktunya untuk mencipta saluran supaya MapController mempunyai akses ke paparan Peta untuk memusatkan peta dan mempunyai paparan anotasi. Ikuti langkah berikut:

Bagaimana Membuat Seni Bina Aplikasi iOS - manisan

Bagaimana Membuat Seni Bina Aplikasi iOS - manisan

Senibina aplikasi adalah di mana anda akan bermula dengan pembangunan aplikasi iOS anda. Pada tahap asas, kebanyakan apl terdiri daripada komponen asas yang sama. Kebanyakan aplikasi terdiri daripada yang berikut: Model: Objek model merangkumi logik dan kandungan (data) aplikasi. Views: Kandungan data tidak berguna jika pengguna anda ...

Protein Diet Paleo dan Mengapa Haiwan Matter - manik

Protein Diet Paleo dan Mengapa Haiwan Matter - manik

Manusia, manusia gua dan manusia moden, adalah omnivora . Gaya hidup Paleo membina warisan makan daging. Ahli antropologi bersetuju bahawa nenek moyang kita yang terdahulu adalah pemakan daging, dan saintis menganggarkan bahawa gen kita adalah 99. 9 peratus sama dengan mereka pada masa itu. Daging menyediakan kita dengan protein, asid lemak penting, dan vitamin - sama seperti ...

Pilihan Editor

Bersukacita dengan Perspektif Hak - monyet

Bersukacita dengan Perspektif Hak - monyet

Tidak seperti binatang lain, mengenai pilihan! Anda boleh memilih untuk berbahagia. Anda boleh memilih untuk melihat kehidupan sebagai kaca separuh penuh (optimistik) atau kaca setengah kosong (pesimis). Semuanya datang kepada sama ada anda menentukan masalah sebagai cabaran atau krisis. Mempunyai perspektif yang betul adalah ...

Kebahagiaan: Tahu Kapan Rencana dan Kapan Bukan Untuk - patung

Kebahagiaan: Tahu Kapan Rencana dan Kapan Bukan Untuk - patung

Akhir-akhir ini, manusia memerlukan rancangan untuk semuanya. Adakah rancangan ini menjadikan anda lebih bahagia? Lebih kurang dan lebih sedikit orang boleh melalui hari tanpa BlackBerry. Ibu bapa merancang untuk pendidikan kolej anak-anak mereka apabila anak-anak berada di tadika. Ada perancang persaraan, perancang perjalanan, perancang perkahwinan, dan bahkan ...

Memutuskan apa jenis orangtua yang anda inginkan untuk mencapai kebahagiaan

Memutuskan apa jenis orangtua yang anda inginkan untuk mencapai kebahagiaan

Bagaimana membesarkan anak-anak anda tidak hanya menjejaskan betapa gembiranya mereka; ia memberi kesan kepada bagaimana mereka melakukan persembahan di sekolah, sama ada mereka mengambil merokok, bagaimana mungkin mereka akan mengalami kemurungan, dan sama ada mereka terlibat dalam tingkah laku seksual yang berisiko. Menurut ahli psikologi yang mengkaji hal semacam ini, terdapat empat gaya utama ...

Pilihan Editor

Rakaman Excel Macros dengan Rujukan Mutlak - dummies

Rakaman Excel Macros dengan Rujukan Mutlak - dummies

Mod rakaman lalai excel adalah rujukan mutlak. Apabila rujukan sel dalam formula adalah rujukan mutlak, ia tidak menyesuaikan secara automatik apabila formula disisipkan ke lokasi baru. Cara terbaik untuk memahami bagaimana konsep ini digunakan untuk makro adalah mencuba. Catat makro yang mengira baris ...

Merujuk kepada Nilai atau Rumusan dalam Sel Lain dalam Excel 2007 Formula - dummies

Merujuk kepada Nilai atau Rumusan dalam Sel Lain dalam Excel 2007 Formula - dummies

Menghubungkan formula adalah formula dalam Excel 2007 yang merujuk lokasi dalam lembaran kerja yang sama, buku kerja sama, atau bahkan buku kerja yang berbeza. Apabila anda mencipta formula pautan, ia membawa formula rumit atau asal ke lokasi baru supaya hasil dalam formula pengaudan tetap terikat secara dinamik kepada asal. Jika ...

Rakaman Excel Macros dengan Rujukan Relatif - dummies

Rakaman Excel Macros dengan Rujukan Relatif - dummies

Rujukan relatif dalam makro Excel bermakna relatif kepada sel yang sedang aktif . Oleh itu, berhati-hati dengan pilihan sel aktif anda - kedua-duanya apabila anda merakam rujukan makro relatif dan apabila anda menjalankannya. Pertama, buka Sample File. xlsx boleh didapati dalam talian. Kemudian, gunakan langkah-langkah berikut untuk merakam makro rujukan relatif: Pada ...