日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

利用XML序列化實(shí)現(xiàn)程序配置文件_ASP教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:ASP中七種實(shí)現(xiàn)分頁(yè)顯示的方法
MS Visual InterDev6.0中七種實(shí)現(xiàn)分頁(yè)顯示的方法 我們?cè)诰幹婆c數(shù)據(jù)庫(kù)有關(guān)的Web網(wǎng)頁(yè)時(shí),由于要顯示的數(shù)據(jù)量巨大,常常面臨一個(gè)數(shù)據(jù)記錄分頁(yè)顯示的問(wèn)題。 -------------------------------------------------------------------------------- 進(jìn)行 ADO 存取數(shù)據(jù)庫(kù)時(shí)的分

 有些應(yīng)用程序在退出的時(shí)候,會(huì)將一些設(shè)置值寫(xiě)入到文件里,以便下次程序啟動(dòng)時(shí)調(diào)用,這個(gè)文件統(tǒng)稱(chēng)為配置文件。例如:Windows的掃雷程序,在每次啟動(dòng)的時(shí)候,都會(huì)出現(xiàn)在上次關(guān)閉的位置,就是因?yàn)閽呃壮绦蛟谕顺龅臅r(shí)候?qū)?dāng)前位置寫(xiě)入到配置文件里。


早期的配置文件的實(shí)現(xiàn)有兩種方法。一是INI文件,在Win32的API中還專(zhuān)門(mén)有讀寫(xiě)INI文件的API函數(shù);另一個(gè)是注冊(cè)表,這也是很多程序的首選,在版本較新的掃雷程序就是利用注冊(cè)表實(shí)現(xiàn)配置函數(shù)。不過(guò),上述的兩種方法都有其的局限性。INI文件,結(jié)構(gòu)簡(jiǎn)單,容易編輯,有容量的上限(64K)。注冊(cè)表雖然沒(méi)有容量的限制,不過(guò)讀寫(xiě)注冊(cè)表還是一件很麻煩的事,而且還容易在注冊(cè)表中產(chǎn)生冗余(刪除程序的時(shí)候還得操作注冊(cè)表),也有和其他程序想沖的可能。最主要的問(wèn)題就是,無(wú)論是INI文件還是注冊(cè)表都只能實(shí)現(xiàn)簡(jiǎn)單的配置讀寫(xiě),很難實(shí)現(xiàn)類(lèi)似對(duì)象的讀寫(xiě),因?yàn)樗麄兊臈l目之間是平行的,而不是類(lèi)似樹(shù)狀的節(jié)點(diǎn)結(jié)構(gòu)(注冊(cè)表雖能實(shí)現(xiàn)樹(shù)狀結(jié)構(gòu),但是讀寫(xiě)還是比較麻煩,也不太安全)。

而利用XML文件就能很好的彌補(bǔ)上面的不足。首先是文件型的,不會(huì)讀寫(xiě)注冊(cè)表,不會(huì)有安全的后顧之憂(yōu);其次沒(méi)有文件容量大小的限制,而且XML文件天生是樹(shù)狀結(jié)構(gòu),很適合實(shí)現(xiàn)對(duì)象的讀寫(xiě)。目前XML文件的應(yīng)用越來(lái)越廣泛,已經(jīng)成為主流,你隨便打開(kāi)一個(gè)程序所在的目錄,很少不看到XML文件的,而且主流的開(kāi)發(fā)軟件都有讀寫(xiě)XML的庫(kù)文件。操作XML文件現(xiàn)在是很便利的一件事。

XML文件序列化是XML技術(shù)的一個(gè)分支,他可以把程序中的一個(gè)對(duì)象(例如自己編寫(xiě)的類(lèi)的一個(gè)實(shí)例)序列化成XML文件。他也可以把XML文件反序列化為程序中的一個(gè)對(duì)象。

有關(guān)XML序列化比較好的文章,我個(gè)人感覺(jué)下面這篇比較好。

NET對(duì)象的XML序列化和反序列化

這就給了我們的一個(gè)思路,我們可以把要讀寫(xiě)的配置封裝在自己編寫(xiě)的配置類(lèi)中,然后通過(guò)XML序列化,來(lái)實(shí)現(xiàn)配置類(lèi)和XML文件的轉(zhuǎn)化。

例如:下面這個(gè)例子就是利用XML序列化在類(lèi)對(duì)象和XML之間轉(zhuǎn)換,用的是C#

下面例子中的xml schema 描述了一個(gè)簡(jiǎn)單的人力資源信息,其中包含了xml的大部分格式,如xml 元素相互嵌套, xml元素既有元素值,又有屬性值。

1. 待序列化的類(lèi)層次結(jié)構(gòu)
[XmlRoot("humanResource")]public class HumanResource
{
private int m_record = 0;
private Worker[] m_workers = null;
[XmlAttribute(AttributeName="record")]public int Record
{
get { return m_record; }
set { m_record = value;

        }

[XmlElement(ElementName="worker")]public Worker[] Workers

{
get { return m_workers; }
set { m_workers = value; }

}
}


public class Worker
{

private string m_number = null;

private InformationItem[] m_infoItems = null;
[XmlAttribute("number")]public string Number
{

get { return m_number; }
set { m_number = value; }
}

[XmlElement("infoItem")]public InformationItem[] InfoItems
{
get { return m_infoItems; }

set { m_infoItems = value; }

}
}


public class InformationItem

{

private string m_name = null;

private string m_value = null;

[XmlAttribute(AttributeName = "name")]public string Name

{

get { return m_name; }

set { m_name = value; }

}
[XmlText]public string Value
{

get { return m_value; }

set { m_value = value; }

}
}

2. 序列化生成的xml結(jié)構(gòu)
<?xml version="1.0" ?>
<humanResource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" record="2">

<worker number="001">

<infoItem name="name">Michale</infoItem>

<infoItem name="sex">male</infoItem>

<infoItem name="age">25</infoItem>

</worker>
<worker number="002">

<infoItem name="name">Surce</infoItem>

<infoItem name="sex">male</infoItem>

<infoItem name="age">28</infoItem>

</worker>

</humanResource>

分享:ASP中常用的變量命名規(guī)則
ASP中,常用的變量命名規(guī)則 在ASP編程中,如果你遵守了下面的變量命名規(guī)則,你的代碼的可行性、可維護(hù)性將會(huì)更好: 一般命名規(guī)則 前綴 變量類(lèi)型 例子 b or bln Boolean bSuccess c or cur Currency cAmount d or dbl Double dblQuantity dt or dat Date and Time dtDat

來(lái)源:模板無(wú)憂(yōu)//所屬分類(lèi):ASP教程/更新時(shí)間:2015-02-15
相關(guān)ASP教程