Jadual Kandungan
首先序列化是什么呢?有什么作用呢?" >首先序列化是什么呢?有什么作用呢?
序列化" >序列化
List集合序列化写入Xml文件" >List集合序列化写入Xml文件
Rumah pembangunan bahagian belakang Tutorial XML/RSS XML(5)序列化写入xml文件

XML(5)序列化写入xml文件

Feb 10, 2017 pm 04:33 PM
xml bersiri

通过.NET里面的Xml序列化器实现将内容写入到xml文件中。这里介绍list集合的序列化。

首先序列化是什么呢?有什么作用呢?

序列化

序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。

序列化使其他代码可以查看或修改那些不序列化便无法访问的对象实例数据。确切地说,代码执行序列化需要特殊的权限:即指定了 SerializationFormatter 标志的 SecurityPermission。在默认策略下,通过 Internet 下载的代码或 Intranet 代码不会授予该权限;只有本地计算机上的代码才被授予该权限。

通常,对象实例的所有字段都会被序列化,这意味着数据会被表示为实例的序列化数据。这样,能够解释该格式的代码有可能能够确定这些数据的值,而不依赖于该成员的可访问性。类似地,反序列化从序列化的表示形式中提取数据,并直接设置对象状态,这也与可访问性规则无关。

对于任何可能包含重要的安全性数据的对象,如果可能,应该使该对象不可序列化。如果它必须为可序列化的,请尝试生成特定字段来保存不可序列化的重要数据。如果无法实现这一点,则应注意该数据会被公开给任何拥有序列化权限的代码,并确保不让任何恶意代码获得该权限。


总结来说:序列化是将一个复杂的对象转换流,方便我们的存储与信息交换。在安全方面自己了解的也不是太多,主要是如果一些信息要保密,就定义它为不可被序列化的,防止他人进行反序列化得知。鄙人是个菜鸟大哭,这里如果对序列化有高深见解的请留下您宝贵的评论,不胜感激。微笑

List集合序列化写入Xml文件

(1)首先创建一个person类,其中包括name,age,email三个属性。


<span style="font-family:Microsoft YaHei;font-size:18px;">public class person
    {
        public string Name
        {
            set;
            get;
        }
        [XmlIgnore]
        public int Age
        {
            get;
            set;
        }
        public string Email
        {
            get;
            set;
        }

    }</span>

注意:上面代码中[XmlIgnore]是对Age属性不可序列化操作。这是Xml序列化器专有的不可序列化特性。对于其他对象就是用[NonSerialized]。
(2)通过list集合添加数据实现xml序列化



<span style="font-family:Microsoft YaHei;font-size:18px;">List<person> list=new List<person> ();
            list.Add(new person() { Name = "istari", Age = 22, Email = "1061399756@qq.com" });
            list.Add(new person() { Name = "ss", Age = 22, Email = "1061399756@qq.com" });
            list.Add(new person() { Name = "ww", Age = 22, Email = "521@qq.com" });

            //实现xml序列化
            XmlSerializer xml = new XmlSerializer(typeof(List<person>));
            using (FileStream fs=File.OpenWrite ("List.xml"))
            {
                xml.Serialize(fs, list);

            }
            Console.WriteLine("OK");
            Console.ReadKey();</span>

(3)Result



<span style="font-family:Microsoft YaHei;font-size:18px;"><?xml version="1.0"?>
<ArrayOfPerson xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <person>
    <Name>istari</Name>
    <Email>1061399756@qq.com</Email>
  </person>
  <person>
    <Name>ss</Name>
    <Email>1061399756@qq.com</Email>
  </person>
  <person>
    <Name>ww</Name>
    <Email>521@qq.com</Email>
  </person>
</ArrayOfPerson></span>

PS

通过这种方法写入xml文件的格式是Xml序列化器内部设置好的格式。自己不用改。还可以自己创建一个序列化器,不用系统的序列化器。下篇文章为大家分享。微笑


以上就是XML(5)序列化写入xml文件的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!

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

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

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.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Topik panas

Tutorial PHP
1596
276
Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

Bagaimana untuk menggunakan fungsi PHP untuk memproses data XML? Bagaimana untuk menggunakan fungsi PHP untuk memproses data XML? May 05, 2024 am 09:15 AM

Gunakan fungsi PHPXML untuk memproses data XML: Menghuraikan data XML: simplexml_load_file() dan simplexml_load_string() memuatkan fail XML atau rentetan. Akses data XML: Gunakan sifat dan kaedah objek SimpleXML untuk mendapatkan nama elemen, nilai atribut dan subelemen. Ubah suai data XML: tambah elemen dan atribut baharu menggunakan kaedah addChild() dan addAttribute(). Data XML bersiri: Kaedah asXML() menukar objek SimpleXML kepada rentetan XML. Contoh praktikal: menghuraikan XML suapan produk, mengekstrak maklumat produk, mengubah dan menyimpannya ke dalam pangkalan data.

C dan XML: Meneroka hubungan dan sokongan C dan XML: Meneroka hubungan dan sokongan Apr 21, 2025 am 12:02 AM

C Berinteraksi dengan XML melalui perpustakaan pihak ketiga (seperti TinyXML, PugixML, Xerces-C). 1) Gunakan perpustakaan untuk menghuraikan fail XML dan menukarnya ke dalam struktur data C-diproses. 2) Apabila menjana XML, tukar struktur data C ke format XML. 3) Dalam aplikasi praktikal, XML sering digunakan untuk fail konfigurasi dan pertukaran data untuk meningkatkan kecekapan pembangunan.

Bagaimanakah pustaka fungsi C++ melakukan pensirilan dan penyahserikatan? Bagaimanakah pustaka fungsi C++ melakukan pensirilan dan penyahserikatan? Apr 18, 2024 am 10:06 AM

Panduan Pensirilan dan Penyahserikatan Perpustakaan C++ Pensirian: Mencipta aliran output dan menukarnya kepada format arkib. Mensiri objek ke dalam arkib. Penyahserialisasian: Mencipta aliran input dan memulihkannya daripada format arkib. Nyahserialisasi objek daripada arkib. Contoh praktikal: Serialisasi: Mencipta aliran keluaran. Buat objek arkib. Cipta dan sirikan objek ke dalam arkib. Penyahserikatan: Buat aliran input. Buat objek arkib. Cipta objek dan deserialisasikannya daripada arkib.

Bagaimanakah siri Java mempengaruhi prestasi? Bagaimanakah siri Java mempengaruhi prestasi? Apr 16, 2024 pm 06:36 PM

Kesan siri pada prestasi Java: Proses siri bergantung pada refleksi, yang akan menjejaskan prestasi dengan ketara. Serialisasi memerlukan penciptaan aliran bait untuk menyimpan data objek, mengakibatkan peruntukan memori dan kos pemprosesan. Mensiri objek besar menggunakan banyak memori dan masa. Objek bersiri meningkatkan beban apabila dihantar melalui rangkaian.

Pensirian dan penyahserikatan antara muka dan kelas abstrak dalam Java Pensirian dan penyahserikatan antara muka dan kelas abstrak dalam Java May 02, 2024 am 08:33 AM

Antara muka tidak boleh bersiri secara langsung Kelas abstrak boleh bersiri tetapi hanya jika ia tidak mengandungi medan bukan statik, bukan sementara atau mengatasi kaedah writeObject() dan readObject() boleh dilaksanakan melalui kelas konkrit yang melaksanakan antara muka atau mengatasi writeObject() dan readObject pelaksanaan kelas Abstrak kaedah ().

Integrasi Data XML/RSS: Panduan Praktikal untuk Pemaju & Arkitek Integrasi Data XML/RSS: Panduan Praktikal untuk Pemaju & Arkitek Apr 02, 2025 pm 02:12 PM

Integrasi data XML/RSS boleh dicapai dengan parsing dan menghasilkan fail XML/RSS. 1) Gunakan Python's XML.Etree.ElementTree atau Perpustakaan FeedParser untuk menghuraikan fail XML/RSS dan mengekstrak data. 2) Gunakan ElementTree untuk menjana fail XML/RSS dan secara beransur -ansur menambah nod dan data.

XML/RSS Dive Deep: Menguasai Parsing, Pengesahan, dan Keselamatan XML/RSS Dive Deep: Menguasai Parsing, Pengesahan, dan Keselamatan Apr 03, 2025 am 12:05 AM

Parsing, pengesahan dan keselamatan XML dan RSS boleh dicapai melalui langkah -langkah berikut: Parsing XML/RSS: Parsing RSSFEED Menggunakan modul XML.Etree.Etree.Etree.elementtree Python untuk mengekstrak maklumat utama. Sahkan XML: Gunakan perpustakaan LXML dan skema XSD untuk mengesahkan kesahihan dokumen XML. Pastikan Keselamatan: Gunakan Perpustakaan DefusedXML untuk mencegah serangan XXE dan melindungi keselamatan data XML. Langkah -langkah ini membantu pemaju dengan cekap memproses dan melindungi data XML/RSS, meningkatkan kecekapan kerja dan keselamatan data.

See all articles