XML解析---dom解析和sax解析
目前XML解析的方法主要用两种: 1、dom解析:(Document Object Model,即文档对象模型)是W3C组织推荐的解析XML的一种方式。 使用dom解析XML文档,该解析器会先把XML文档加载到内存中,生成该XML文档对应的document对象,然后把XML文档中的各个标签元素变成
目前XML解析的方法主要用两种:
1、dom解析:(Document Object Model,即文档对象模型)是W3C组织推荐的解析XML的一种方式。使用dom解析XML文档,该解析器会先把XML文档加载到内存中,生成该XML文档对应的document对象,然后把XML文档中的各个标签元素变成相应的Element对象,文本会变成Text对象,属性会变成Attribute对象,并按这些标签、文本、属性在XML文档中的关系保存这些对象的关系。
缺点:消耗内存,所以使用dom解析XML文档时不能解析太大的XML文档,否则有可能会造成内存溢出。
优点:使用dom解析XML文档可以很方便的执行增删改查操作(可以直接根据节点对应的对象进行操作)。
2、sax解析:Simple API for XML,不是官方标准,但它是XML社区事实上的标准,几乎所有的XML解析器都支持它。
使用sax解析XML文档,该解析器会从上往下读,读一行,解析一行;
优点:因为它解析XML文档是采取读一行,解析一行的方式,所以它不会对内存造成压力。缺点:不适合执行增删改查的操作(也是因为它解析XML文档时采取的读一行解析一行的方式,所以它不能往回操作),只适合对XML文档进行读取操作。
======================================================================================================
补充:
XML解析开发包:Jaxp(sun)、Jdom、dom4j;
======================================================================================================
调整JVM内存大小:
当我们要解析的XML文档内存比较大、而且要对该XML中的节点数据进行相关的操作时,使用这两种解析方式显然都会不方便,这时就需要调整JVM内存的大小了。
JVM默认的允许最大内存容量是64M(根据jdk的版本不同,默认的最大容量值不一样,jdk5.0版本的是64MB,jdk7版本的是170MB)。
调整JVM内存大小的方法(相应的命令为:-Xmx内存大小值单位):
在Eclipse中的项目导航框中右击相应的Java程序》》Run As》》Open Run Dialog...》》打开Run对话框》》选择Arguments选项,在开窗口中有两个输入框,第一个是程序的参数输入框,第二个是VM的参数输入框,在第二个VM的参数输入框中输入Xmx200M》》点击右下角的Run按钮,执行相应的Java程序,就不会报OutOfMemoryError的错误了。
======================================================================================================
XML解析开发包:
1、JAXP:JAXP开发包是J2SE的一部分,它由javax.xml、org.w3c.dom、org.xml.sax包及其子包组成。
在javax.xml.parsers包中,定义了几个工厂类,程序员调用这些工厂类,可以得到XML文档的dom或sax的解析器,从而实现对XML文档的解析。
首先、创建工厂:
DocumentBuilderFactory factory = DocumentBuilderFactroy.newInstance();//因为DocumentBuilderFactory类是抽象类,不能new出它的对象只能调用它的静态方法获取它的对象。
其次、得到dom解析器:
DocumentBuilder builder = factory.newDocumentBuilder();
然后、加载XML文档,得到代表文档的Document对象:
Document document = builder.parse("*.xml");
拿到代表XML文档的document对象就可以操作XML文档中的各个节点了。
======================================================================================================
补充:
dom解析下,XML文档的每一个组成部分都会用一个对象表示,例如标签用Element,属性用Attribute,但不管什么对象,都是Node的子类,所以在开发中可以把获取到的任意节点都当作Node对待。
XML编程(CRUD)
create、read、update、delete
添加、查询、更新、删除;
除了这两种解析方法外,还有另外的解析方法。。。
======================================================================================================
在对XML文档进行添加、修改和删除操作时,不仅要更新document对象还要更新XML文档(把更新后的document对象重写到XML文档中)。
javax.xml.transform包中的Transformer类用于把代表XML文档的Document对象转换为某种格式后输出,例如把XML文档应用样式表后转换成一个HTML文档。利用这个对象,当然也可以把Document对象又重新写入到一个XML文档中。源和目的地。可以通过:
javax.xml.transform.dom.DOMSource类来关联要转换的document对象,
用javax.xml.transform.stream.StreamResult对象来表示数据的目的地。
Transformer对象通过TransformerFactory获得。
Transformer类通过transform方法完成转换操作,该方法接收个
(工厂对象(TransformerFactory)》》》转换器对象(Transformer)》》》转换方法(transform(DOMSource 源,StreamResult 目的地);))
======================================================================================================
SAX解析:
SAX解析采用事件处理的方式解析XML文件,利用SAX解析XML文档,涉及两个部分:解析器和事件处理器:
解析器可以使用JAXP的API创建,创建出SAX解析器后,就可以指定解析器去去解析某个XML文档。
解析器采用SAX方式在解析某个XML文档时,它只要解析到XML文档的一个指定部分,都会去调用事件处理器的一个方法,解析器在调用事件处理器的方法时,会把当前解析到的XML文件内容作为方法的参数传递给事件处理器。
事件处理器由程序员编写,程序员通过事件处理器中方法的参数,就可以很轻松的得到SAX解析器解析到的数据,从而可以决定如何对数据进行处理。
1、创建解析工厂;
SAXParserFactory fac = SAXParserFactory.newInstance();
2、获取解析器;
SAXParser sp = fac.newSAXParser();
3、得到读取器;
XMLReader re = sp.getXMLReader();
4、设置内容处理器;
re.setContentHandler(new ContentHandler(){ /*实现接口的代码块*/});
(或者:re.setContentHandler(new DefaultHandler());/*参数为DefaultHandler类的子类*/)
第一种方法是解析整个XML文档,第二种方法可以只解析某个标签;
其实还有一种内容处理器,也是先继承DefaultHandler类,然后把解析的内容封装到bean对象中。
5、读取XML文档内容;
re.parse("*.xml");
======================================================================================================
XML解析开发包:
2、dom4j:
SAXReader saxReader = new SAXReader();
Document doc = saxReader.read(new File());
OutputFormat format = OutputFormat.createPrettyPrint();//该对象标明格式按漂亮的格式进行输出;另外还有一个对象是按紧凑的格式进行输出;
format.setEncoding("UTF-8");
XMLWriter xmlWriter = new XMLWriter(new FileOutputStream(),format);
xmlWriter.write(doc);//如果xmlWriter对象采用的流是字节流,那么该对象会先把doc对象按format对象给定的编码格式转换成字节,然后把数据交给字节流进行操作。
writer.close();//最后要关闭资源
======================================================================================================
XPath:
使用XPath可以快速定位到某个节点;
List list = document.selectNodes("//foo/bar");//获取foo节点下的所有bar节点;
Node node = document.selectSingleNode("//foo/bar");//获取foo节点下的第一个bar节点;
单斜杠是绝对路径即从根节点开始;
双斜杠是相对路径即从所有当前节点开始;
星号“*”表示选择所有由星号之前的路径所定位的元素;
例如:
/aa/bb/*表示选择所有路径依附于/aa/bb的元素;
/*/*/*/bbb表示选择所有的有3个祖先元素的bbb元素;
//bb[@*]表示选择有任意属性的bb元素;
//bb[not(@*)]表示选择没有属性的bb元素;
//bb[@id='b1']表示选择含有属性id='b1'的bb元素;

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Novel Tomato adalah perisian membaca novel yang sangat popular Kami sering mempunyai novel dan komik baru untuk dibaca dalam Novel Tomato Setiap novel dan komik sangat menarik ingin menulis ke dalam teks. Jadi bagaimana kita menulis novel di dalamnya? Kongsi tutorial novel Tomato tentang cara menulis novel 1. Mula-mula buka aplikasi novel percuma Tomato pada telefon bimbit anda dan klik pada Pusat Peribadi - Pusat Penulis 2. Lompat ke halaman Pembantu Penulis Tomato - klik pada Buat buku baru di penghujung novel.

Papan induk berwarna-warni menikmati populariti tinggi dan bahagian pasaran dalam pasaran domestik China, tetapi sesetengah pengguna papan induk Berwarna-warni masih tidak tahu cara memasukkan bios untuk tetapan? Sebagai tindak balas kepada situasi ini, editor telah membawakan anda secara khas dua kaedah untuk memasukkan bios motherboard yang berwarna-warni. Datang dan cuba! Kaedah 1: Gunakan kekunci pintasan permulaan cakera U untuk terus memasuki sistem pemasangan cakera U Kekunci pintasan untuk papan induk Berwarna untuk memulakan cakera U dengan satu klik ialah ESC atau F11 Pertama, gunakan Black Shark Installation Master untuk mencipta Black Cakera but cakera Shark U, dan kemudian hidupkan komputer Apabila anda melihat skrin permulaan, tekan terus kekunci ESC atau F11 pada papan kekunci untuk memasuki tetingkap untuk pemilihan item permulaan secara berurutan ke tempat "USB " dipaparkan, dan kemudian

Malangnya, orang sering memadamkan kenalan tertentu secara tidak sengaja atas sebab tertentu WeChat ialah perisian sosial yang digunakan secara meluas. Untuk membantu pengguna menyelesaikan masalah ini, artikel ini akan memperkenalkan cara mendapatkan semula kenalan yang dipadam dengan cara yang mudah. 1. Fahami mekanisme pemadaman kenalan WeChat Ini memberi kita kemungkinan untuk mendapatkan semula kenalan yang dipadamkan Mekanisme pemadaman kenalan dalam WeChat mengalih keluar mereka daripada buku alamat, tetapi tidak memadamkannya sepenuhnya. 2. Gunakan fungsi "Pemulihan Buku Kenalan" terbina dalam WeChat menyediakan "Pemulihan Buku Kenalan" untuk menjimatkan masa dan tenaga Pengguna boleh mendapatkan semula kenalan yang telah dipadamkan dengan cepat melalui fungsi ini. 3. Masuk ke halaman tetapan WeChat dan klik sudut kanan bawah, buka aplikasi WeChat "Saya" dan klik ikon tetapan di sudut kanan atas untuk memasuki halaman tetapan.

Permainan mudah alih telah menjadi sebahagian daripada kehidupan orang ramai dengan perkembangan teknologi. Ia telah menarik perhatian ramai pemain dengan imej telur naga yang comel dan proses penetasan yang menarik, dan salah satu permainan yang telah menarik perhatian ramai ialah versi mudah alih Dragon Egg. Untuk membantu pemain memupuk dan mengembangkan naga mereka sendiri dengan lebih baik dalam permainan, artikel ini akan memperkenalkan kepada anda cara menetas telur naga dalam versi mudah alih. 1. Pilih jenis telur naga yang sesuai Pemain perlu berhati-hati memilih jenis telur naga yang mereka suka dan sesuai dengan diri mereka, berdasarkan pelbagai jenis sifat dan kebolehan telur naga yang disediakan dalam permainan. 2. Tingkatkan tahap mesin pengeraman Pemain perlu meningkatkan tahap mesin pengeraman dengan menyelesaikan tugasan dan mengumpul prop Tahap mesin pengeraman menentukan kelajuan penetasan dan kadar kejayaan penetasan. 3. Kumpul sumber yang diperlukan untuk penetasan Pemain perlu berada dalam permainan

Dalam masyarakat hari ini, telefon bimbit telah menjadi sebahagian daripada kehidupan kita. Sebagai alat penting untuk komunikasi harian, kerja dan kehidupan kita, WeChat sering digunakan. Walau bagaimanapun, mungkin perlu untuk memisahkan dua akaun WeChat apabila mengendalikan transaksi yang berbeza, yang memerlukan telefon mudah alih untuk menyokong log masuk ke dua akaun WeChat pada masa yang sama. Sebagai jenama domestik yang terkenal, telefon bimbit Huawei digunakan oleh ramai orang Jadi apakah kaedah untuk membuka dua akaun WeChat pada telefon bimbit Huawei? Mari kita dedahkan rahsia kaedah ini. Pertama sekali, anda perlu menggunakan dua akaun WeChat pada masa yang sama pada telefon mudah alih Huawei anda Cara paling mudah ialah

Menetapkan saiz fon telah menjadi keperluan pemperibadian yang penting kerana telefon mudah alih menjadi alat penting dalam kehidupan seharian manusia. Untuk memenuhi keperluan pengguna yang berbeza, artikel ini akan memperkenalkan cara meningkatkan pengalaman penggunaan telefon mudah alih dan melaraskan saiz fon telefon mudah alih melalui operasi mudah. Mengapa anda perlu melaraskan saiz fon telefon mudah alih anda - Melaraskan saiz fon boleh menjadikan teks lebih jelas dan mudah dibaca - Sesuai untuk keperluan membaca pengguna yang berbeza umur - Mudah untuk pengguna yang kurang penglihatan menggunakan saiz fon fungsi tetapan sistem telefon mudah alih - Cara memasukkan antara muka tetapan sistem - Dalam Cari dan masukkan pilihan "Paparan" dalam antara muka tetapan - cari pilihan "Saiz Fon" dan laraskan saiz fon dengan pihak ketiga aplikasi - muat turun dan pasang aplikasi yang menyokong pelarasan saiz fon - buka aplikasi dan masukkan antara muka tetapan yang berkaitan - mengikut individu

Perbezaan antara kaedah dan fungsi bahasa Go terletak pada perkaitannya dengan struktur: kaedah dikaitkan dengan struktur dan digunakan untuk mengendalikan data struktur atau fungsi adalah bebas daripada jenis dan digunakan untuk melaksanakan operasi umum.

Filem telefon bimbit telah menjadi salah satu aksesori yang sangat diperlukan dengan populariti telefon pintar. Untuk memanjangkan hayat perkhidmatannya, pilih filem telefon mudah alih yang sesuai untuk melindungi skrin telefon mudah alih. Untuk membantu pembaca memilih filem telefon bimbit yang paling sesuai untuk diri mereka sendiri, artikel ini akan memperkenalkan beberapa perkara utama dan teknik untuk membeli filem telefon bimbit. Fahami bahan dan jenis filem telefon bimbit: Filem PET, TPU, dsb. Filem telefon mudah alih diperbuat daripada pelbagai bahan, termasuk kaca terbaja. Filem PET agak lembut, filem kaca terbaja mempunyai rintangan calar yang baik, dan TPU mempunyai prestasi kalis kejutan yang baik. Ia boleh diputuskan berdasarkan keutamaan dan keperluan peribadi semasa memilih. Pertimbangkan tahap perlindungan skrin Jenis filem telefon mudah alih yang berbeza mempunyai tahap perlindungan skrin yang berbeza. Filem PET terutamanya memainkan peranan anti-calar, manakala filem kaca terbaja mempunyai rintangan jatuh yang lebih baik. Anda boleh memilih untuk menjadi lebih baik
