隨著xml的普及以及在動態web應用程式中大量應用,如何通過.netc#建立,刪除,修改xml檔案變的也來也重要了。那麼如何c#建立xml檔案呢?具體的操作又是如何呢?讓我們開始具體的講解:
乙個簡單的概念是,xml檔案跟大的文字檔案並沒有什麼區別,同時它是先於.net出現,很多asp的開發者,當他需要程式輸出xml檔案的時候,通常都是用response.write()方法輸出為xml文件。
使用response.write()的方式來輸出xml文件,並不是一種那麼好的方法,首先,我們用這種方法輸出字元以組成xml檔案的時候,我們會很擔心輸出的這些字元是不是符合xml規範,不符合xml規範的xml文件將不能得到真確完整的顯示,如:﹤,﹥,&"",和'這些符號,當它們在xml檔案裡的出現的時候,我們必須手工查詢這些不合規範的字元;再次,當我們需要輸出的是乙個包含很多名字空間,屬性和元素的xml檔案的時候,使用response.write()方法所必須的**將會變得冗長以及可讀性差。
幸運的是,.net framework提供了乙個特別為建立xml檔案使用的類-system.xml.xmltextwriter,使用這個類來建立xml檔案,你並不需要擔心輸出是否符合xml規範的問題,同時**將會變得非常簡潔。在這篇文章中,我們將深入的講述如何使用xmltextwriter類來建立xml檔案。
c#建立xml檔案之xmltextwriter物件簡介:
xmltextwriter物件包含了很多可用於在建立xml檔案時新增元素和屬性到xml檔案裡的方法,比較重要的有:
◆writestartdocument()-建立xml檔案首先就需要用到這個方法,它是在建立xml檔案的第一行**,用來指定該檔案是xml檔案以及設定它的編碼型別;
◆writestartelement(string)-這個方法的作用是在xml檔案中建立新元素,你可以通過string引數設定元素的名稱(當然了,你還可以使用optional關鍵字指定乙個可選的引數);
◆writeelementstring(name, text_value)-如果你需要建立乙個除了字元,什麼也沒有的(如不巢狀元素)的元素,你可以使用該方法;
◆writeendelement()-對應writestartelement(string)方法,作為乙個元素的結尾;
◆writeenddocument()-xml檔案建立完成後使用該方法結束;
◆close()-關閉所有的文字流,把建立的xml檔案輸出到指定位置。
使用xmltextwriter物件建立xml檔案,需要在類構造器中指定檔案的型別,而且編碼型別必須是system.text.encoding,如:system.text.encoding.ascii, system.text.encoding.unicode及system.text.encoding.utf8,在xmltextwriter類構造器指定為何種型別,在輸出xml檔案將以那種流檔案形式輸出。
c#建立xml檔案之使用xmltextwriter物件建立乙個簡單的xml檔案
﹤userinfo﹥選用這個有這種結構的xml檔案為輸出物件,是為了可以在這裡使用所有先前講過的方法,方便闡述。﹤browserinfo﹥
﹤urlreferrer﹥url referrer info﹤/urlreferrer﹥
﹤useragent﹥user agent referrer info﹤/useragent﹥
﹤userlanguages﹥languages info﹤/userlanguages﹥
﹤/browserinfo﹥
﹤visitinfo timevisited="date/time the page was visited"
﹥ ﹤ip﹥visitor's ip address﹤/ip﹥
﹤rawurl﹥raw url requested﹤/rawurl﹥
﹤/visitinfo﹥
﹤/userinfo﹥
如下便是建立該xml檔案所需的asp.net**:
xmltextwriter writer=首先我們要注意是否有匯入system.xml and system.text命名空間,然後我們在page_load事件中建立乙個xmltextwriter物件例項,並且指定建立的xml檔案儲存為userinfo.xml檔案和它的編碼型別為utf8(a translation of 16-bit unicode encoding into 8-bits),然後使用writestartelement(elementname)方法來建立巢狀了其他元素的元素,並以writeendelement()作為結束,此外,我們使用writeelementstring(elementname, textvalue)方法來建立最底層即沒有巢狀其他元素的元素。new
),null);
writer.formatting = formatting.indented; //縮排格式
writer.indentation =4;
c#建立xml檔案之在瀏覽器視窗中輸出xml檔案:
先前的例子示範了如何使用xmltextwriter物件建立xml檔案以及把它儲存為乙個檔案,這個檔案可能是你所需要的,但是有時候,我們需要把建立的xml檔案在瀏覽器上顯示出來,這個時候,我們可以使用上例**建立userinfo.xml檔案,然後開啟它,再使用response.write()把它輸出,但是這種方法並不是很好。
下面列出了上例修改後的部分**,修改過的**將一些粗體顯示:
﹤@ page contenttype="text/xml"注意,儘管你訪問的是asp.net web頁面,但是你檢視該例項所看到的僅僅是xml文件,這個文件跟先前建立的xml檔案是一樣的,所不同的是,先前是儲存為乙個xml檔案userinfo.xml。%﹥
﹤%@ import namespace="system.xml"
%﹥
﹤%@ import namespace="system.text"
%﹥
﹤script language="c#"
runat="server"
﹥voidpage_load(objectsender, eventargs e)
c#建立xml檔案等操作的總結:
本文示範了在.net framework中如何使用system.xml.xmltextwriter類來建立xml檔案,xmltextwriter物件可以建立乙個xml檔案,並把它儲存到指定位置,也可以直接以指定的流形式顯示在瀏覽器上,在很多編碼工作中,使用xmltextwriter物件構建基於xml的程式會有很多的優勢,其中主要有可以使**更加簡潔,更具可讀性,同時不用擔心輸出的xml檔案是否符合規範
writer.writestartdocument();c#建立xml檔案的相關概念以及具體的操作演示就向你介紹到這裡,希望那個對你了解和學習c#建立xml檔案有所幫助。writer.writestartelement("person"
);
writer.writestartattribute("id"
,null);
writer.writestring("004"
);
writer.writeendattribute();
writer.writestartelement("name"
);
writer.writestring("testwritername"
);
writer.writeendelement();
writer.writestartelement("number"
);
writer.writestring("88888"
);
writer.writeendelement();
writer.writestartelement("city"
);
writer.writestring("testwritercity"
);
writer.writeendelement();
writer.flush();
writer.close();
建立xml檔案 解析xml檔案
import codecs import xml.dom.minidom doc xml.dom.minidom.document print doc root doc.createelement booklist print u 新增的xml標籤為 root.tagname root.setatt...
Python建立XML檔案,C 解析XML檔案
最近在做一些 移植工作,為了測試正確性,要拿同樣的輸入資料測試,於是打算使用xml來儲存資料,c 進行解析。簡單做個記錄。資料來源使用python生成xml 目標是生成下面的樣子,直接看 吧,python這個xml庫用起來比較簡單,看個例子就會了。c 解析xml qt qdomdocument 剛好...
C 解析XML檔案
內容提要 1.解析xml檔案有哪些方法?各有什麼優缺點?2.如何用xpath解析xml文件的要點。先來看看解析xml檔案的方法都有哪些吧,本段文字來自網路,可以幫助大家對這個問題有個概要的了解。在程式中訪問並操作xml檔案一般有兩種模型 流模型和dom 文件物件模型 流模型中有兩種變體 推 模型和 ...