Rumah pembangunan bahagian belakang Tutorial C#.Net 在.NET Framework中轻松处理XML数据(5-1)

在.NET Framework中轻松处理XML数据(5-1)

Dec 20, 2016 pm 02:18 PM
.net data xml

??设计XmlReadWriter类 

??如前面所说,XML reader和Writer是各自独立工作的:reader只读,writer只写。假设你的利用程序要治理冗长的XML文档,且该文档有不断定的数据。Reader供给了一个很好的方法往读该文档的内容。另一方面,Writer是一个非常有用的用于创立XML文档片段工具,但是假如你想要它即能读,又能写,那么你就要用XMLDOM了。假如实际的XML文档非常宏大,又会呈现了一个标题,什么标题呢?是不是把这个XML文档全部加载到内存中,然落后行读和写呢?让我们先看一下怎么样建立一个混杂的流分析器用于分析大型的XMLDOM。 

??像一般的只读把持一样,用普通的XML reader往次序的拜访节点。不同的是,在读的同时你可以用XML writer转变属性值以及节点的内容。你用reader往读源文件中的每个节点,后台的writer创立该节点的一个拷贝。在这个拷贝中,你可以增加一些新的节点,疏忽或者编纂其它的一些节点,还可以编纂属性的值。当你完成修正后,你就用新的文档调换旧的文档。 

??一个简略有效的措施是从只读流中拷贝节点对象到write流中,这种方法可以用XmlTextWriter类中的两个方法:WriteAttributes方法和WriteNode方法。 WriteAttributes方法读取当前reader中选中的节点的所有有效的属性,然后把属性当作一个单独的string拷贝到当前的输出流中。同样的,WriteNode方法用类似的方法处理除属性节点外的其它类型的节点。图十所示的代码片段演示了怎么用上述的两个方法创立一个源XML文档的拷贝,有选择的修正某些节点。XML树从树根开端被拜访,但只输出了除属性节点类型以外的其它类型的节点。你可以把Reader和Writer整合在一个新的类中,设计一个新的接口,使它能读写流及拜访属性和节点。 

Figure 10 Using the WriteNode Method 

XmlTextReader reader = new XmlTextReader(inputFile); 

XmlTextWriter writer = new XmlTextWriter(outputFile); 



// 配置 reader 和 writer 

writer.Formatting = Formatting.Indented; 

reader.MoveToContent(); 



// Write根节点 

writer.WriteStartElement(reader.LocalName); 



// Read and output every other node 

int i=0; 

while(reader.Read()) 



if (i % 2) 

writer.WriteNode(reader, false); 

i ; 





// Close the root 

writer.WriteEndElement(); 



// Close reader and writer 

writer.Close(); 

reader.Close(); 

??我的XmlTextReadWriter类并没有从XmlReader或者XmlWriter类中持续。取而代之的是另外两个类,一个是基于只读流(stream)的把持类,另一个是基于只写流的把持类。XmlTextReadWriter类的方法用Reader对象读数据,写进到Writer对象。为了适应不同的需求,内部的Reader和Writer 对象分辨通过只读的Reader和Writer属性公然。图十一列出了该类的一些方法: 

Figure 11 XmlTextReadWriter Class Methods 

Method 
Description 

AddAttributeChange 
Caches all the information needed to perform a change on a node attribute. All the changes cached through this method are processed during a successive call to WriteAttributes. 

Read 
Simple wrapper around the internal reader's Read method. 

WriteAttributes 
Specialized version of the writer's WriteAttributes method, writes out all the attributes for the given node, taking into account all the changes cached through the AddAttributeChange method. 

WriteEndDocument 
Terminates the current document in the writer and closes both the reader and the writer. 

WriteStartDocument 
Prepares the internal writer to output the document and add a default comment text and the standard XML prolog. 


??这个新类有一个Read方法,它是对Reader的read方法的一个简略的封装。另外,它供给了WriterStartDocument和WriteEndDocument方法。它们分辨初始化/开释(finalize)了内部Reader和writer对象,还处理所有I/O把持。在循环读节点的同时,我们就可以直接的修正节点。出于性能的原因,要修正属性必需先用AddAttributeChange方法声明。对一个节点的属性所作的所有修正都会存放在一个临时的表中,最后,通过调用WriteAttribute方法提交修正,清除临时表。 

 以上就是在.NET Framework中轻松处理XML数据(5-1) 的内容,更多相关内容请关注PHP中文网(www.php.cn)! 


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Python melaksanakan penapisan dan penapisan data XML Python melaksanakan penapisan dan penapisan data XML Aug 09, 2023 am 10:13 AM

Python melaksanakan penapisan dan penapisan data XML (eXtensibleMarkupLanguage) ialah bahasa penanda yang digunakan untuk menyimpan dan menghantar data Ia fleksibel dan berskala dan sering digunakan untuk pertukaran data antara sistem yang berbeza. Apabila memproses data XML, kami selalunya perlu menapis dan menapisnya untuk mengekstrak maklumat yang kami perlukan. Artikel ini akan memperkenalkan cara menggunakan Python untuk menapis dan menapis data XML. Import modul yang diperlukan Sebelum memulakan, kami

Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET May 06, 2024 pm 04:43 PM

Perkembangan teknologi kecerdasan buatan (AI) sedang giat dijalankan hari ini, dan ia telah menunjukkan potensi dan pengaruh yang besar dalam pelbagai bidang. Hari ini Dayao akan berkongsi dengan anda 4 rangka kerja projek berkaitan LLM model AI sumber terbuka .NET, dengan harapan dapat memberi anda sedikit rujukan. https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel ialah kit pembangunan perisian sumber terbuka (SDK) yang direka untuk menyepadukan model bahasa besar (LLM) seperti OpenAI, Azure

Apakah prospek pekerjaan C#? Apakah prospek pekerjaan C#? Oct 19, 2023 am 11:02 AM

Sama ada anda seorang pemula atau profesional yang berpengalaman, menguasai C# akan membuka jalan untuk kerjaya anda.

Perbezaan prestasi antara rangka kerja Java dan rangka kerja .NET Perbezaan prestasi antara rangka kerja Java dan rangka kerja .NET Jun 03, 2024 am 09:19 AM

Dari segi pemprosesan permintaan selaras tinggi, .NETASP.NETCoreWebAPI berprestasi lebih baik daripada JavaSpringMVC Sebabnya termasuk: Kompilasi awal AOT, yang mengurangkan masa permulaan pengurusan memori, di mana pembangun bertanggungjawab untuk memperuntukkan dan melepaskan memori objek.

Panduan Lengkap: Cara membaca dan memproses data XML menggunakan sambungan php SimpleXML Panduan Lengkap: Cara membaca dan memproses data XML menggunakan sambungan php SimpleXML Jul 28, 2023 pm 02:46 PM

Panduan Lengkap: Cara Membaca dan Memproses Data XML Menggunakan Sambungan PHP SimpleXML Pengenalan: Dalam pembangunan web moden, pemprosesan dan memanipulasi data XML adalah tugas yang sangat biasa. Sebagai bahasa skrip sebelah pelayan yang berkuasa, PHP menyediakan pelbagai sambungan dan fungsi untuk memproses dan memanipulasi data XML. Antaranya, sambungan SimpleXML ialah alat yang sangat berguna yang memudahkan proses membaca dan memproses data XML. Artikel ini akan memberikan anda panduan lengkap tentang cara menggunakan sambungan PHP

Teknologi pengoptimuman prestasi .NET untuk pembangun Teknologi pengoptimuman prestasi .NET untuk pembangun Sep 12, 2023 am 10:43 AM

Jika anda seorang pembangun .NET, anda mesti sedar tentang kepentingan mengoptimumkan fungsi dan prestasi dalam menyampaikan perisian berkualiti tinggi. Dengan menggunakan pakar sumber yang disediakan dan mengurangkan masa memuatkan tapak web, anda bukan sahaja mencipta pengalaman yang menyenangkan untuk pengguna anda tetapi juga mengurangkan kos infrastruktur.

Gunakan fungsi PHP untuk memproses data XML Gunakan fungsi PHP untuk memproses data XML Jun 16, 2023 am 10:16 AM

XML (ExtensibleMarkupLanguage) ialah format data yang digunakan secara meluas yang direka untuk penghantaran dan penyimpanan data merentas platform. Dalam aplikasi web, memproses data XML adalah tugas yang sangat biasa. Artikel ini akan memperkenalkan cara menggunakan fungsi XML terbina dalam PHP untuk memproses data XML. Membaca data XML PHP menyediakan satu set fungsi untuk membaca data XML. Yang paling biasa digunakan ialah fungsi simplexml_load_file. Fungsi ini menukar XML

Gunakan PHP dan XML untuk melaksanakan sokongan berbilang bahasa untuk tapak web Gunakan PHP dan XML untuk melaksanakan sokongan berbilang bahasa untuk tapak web Jul 31, 2023 pm 11:19 PM

Gunakan PHP dan XML untuk melaksanakan sokongan berbilang bahasa untuk tapak web Dengan perkembangan pesat Internet, semakin banyak laman web perlu menyediakan sokongan berbilang bahasa untuk pengguna global. Apabila mereka bentuk tapak web berbilang bahasa, kita perlu mempertimbangkan terjemahan antara muka pengguna, maklum balas pengguna, pengelogan dan kandungan statik atau dinamik yang lain. Artikel ini akan memperkenalkan cara menggunakan PHP dan XML untuk mencapai sokongan berbilang bahasa untuk tapak web. Cipta fail bahasa Pertama, kita perlu mencipta fail bahasa untuk menyimpan teks terjemahan dalam pelbagai bahasa. Setiap fail terjemahan bahasa ialah a

See all articles