苹果部落冲突更换绑定
青海網站建設、網絡推廣最好的公司--您身邊的網站建設專家,馬上拿起電話,聯系我們:0971-8235355   
青海西寧網站建設、網站制作公司-西寧威勢電子信息服務有限公司 首頁 |  公司簡介 |  網站建設 |  網絡推廣 |  空間租用 |  域名注冊 |  企業郵局 |  網絡安全 |  網站編程 |  客服中心 |  聯系我們 |  人才招聘
 
西寧威勢最新網站制做案例展示
Lastest Project
 
西寧網站建設  
當前位置為:首頁 >> XML >> 正文  
XML初級應用ABC

文章來源: 西寧威勢電子信息服務有限公司     發布時間:2008-11-28    瀏覽次數:2254    tags:XML初級應用ABC

部分文章來源于網絡收集或轉載,如果此文章侵犯了您的版權,請您來信告之,本站將在第一時間進行處理
      本文介紹3個XML的基本應用實例,旨在帶領你快速步入XML編程世界。實例包括:在.NET中使用XML、讀取XML文件,插入數據到XML文檔中。

   在.NET中使用XML
   如果使用過MSXML3,那么在.NET應用程序中使用XML將是一個相當簡單的過程。即時沒有接觸過MSXML3,也不要緊,你會發現使用.NET平臺提供的相關類也是很容易的一件事情。
   有兩種主要API可用于訪問建立在XML文檔中的數據,它們包括只向前的無緩沖存取以及隨機存取,而且自始至終都使用到文檔對象模型DOM。有關這2個API的類位于System.XML集合中。
   如果要快速有效地訪問XML文檔中的數據,就需要使用XmlTextReader類。這個類采取“拉”模式處理方式,要比簡單XML API(SAX)中的“推”模式處理方式優越許多。使用XmlTextReader類之前首先要引用System.Xml集合,在C#中是使用“using”關鍵字來引用,在Visual Basic中則是使用“imports”關鍵字。引用了集合后,就可以象下面的代碼所示開始例示讀操作了:
XmlTextReader reader = new XmlTextReader(pathToXmlDoc);
int elementCount = 0;
while (reader.Read()) {
if (reader.NodeType == XmlNodeType.Element) {
elementCount++;
}
}

   XmlTextReader類中有幾個不同的構造器,上面所示的負責接收一個XML文件的路徑作為字符串參數。
   雖然只向前的“拉”模式處理相當有效率,但它卻是只讀的,所以不能允許執行插入、刪除或者更新XML文檔節點的操作。當需要對XML文檔施加更多的控制并需要更大的靈活性時,我們可以看一看文檔對象模型DOM。DOM API的功能將XML文檔中的每一個節點裝載到一個樹形結構中,看起來就象是一個“家譜”。內存中有了這個結構,隨機存取XML文檔中的不同節點就變得可行。
   開始創建DOM樹形結構前,首先引用System.Xml集合,然后例示XmlDocument類:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(pathToXmlDoc);
XmlNode root = xmlDoc.DocumentElement;

   通過使用XmlDocument類中的相關方法,在樹形結構中添加節點的操作可以很容易地完成。下面的例子演示了如何從一個文件中裝載XML,然后在根節點root下添加一個子元素以及它的相關屬性:
XmlDocument xmlDoc = new XmlDocument();
XmlDoc.Load(pathToXmlDoc);
XmlElement root = xmlDoc.DocumentElement;
XmlElement newNode = doc.CreateElement("newNode");
newNode.SetAttribute("id","1");
root.AppendChild(newNode);

   以上代碼執行后,將產生下面的XML文檔:
<?xml version="1.0"?>
<root>
<newNode id="1"/>
</root>

   當需要將包含XML的字符串裝載進DOM中時,可以使用XmlDocument類的LoadXml()方法。裝載進去后,就可以按照下面的方式操作XML:
string myXml = "<root><someNode>Hello</someNode></root>";
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(myXml);
//....manipulation or reading of the nodes can occur here

   除了以上幾種,在System.Xml集合中還有多種其他類可用于執行不同的任務。上面的介紹僅僅是淺嘗則止,大量的應用還需要更多的練習。

  讀取XML文件
   下面介紹如何使用XmlTextReader類讀取XML文檔,并將數據顯示輸出。
   System.XML名稱空間中定義了兩個類-XmlReader與XmlTextReader,其中XmlTextReader類來源于XmlReader類,而XmlTextReader類就可以用于讀取XML文檔,這個文檔的Read函數將讀取文檔內容,直到節點尾部。
   以下是具體的實現步驟:

   1、引用名稱空間
   因為相關XML的類是在System.XML名稱空間中定義的,所以第一件事情就是引用這個名稱空間:
using System.Xml;

  2、打開XML文檔
   XmlTextReader類的構造器可用于打開一個XML文件。本例程的XML文件叫做xmltest.xml,位于C:\temp目錄下。打開文件c:\temp\xmltest.xml的命令如下:
XmlTextReader reader = new XmlTextReader("C:\\temp\\xmltest.xml");

  3、讀取數據
   讀取XML文件的數據,可以使用XmlTextReader類的Read方法:
while ( reader.Read() )
{
Console.WriteLine(reader.Name);
}

  4、完整執行代碼readxml.cs

namespace WriteToXML
{
using System;
using System.Xml;
/// <summary>
/// Summary description for Class1.
/// </summary>
public class Class1
{
public Class1()
{

}
public static int Main(string[] args)
{
try
{
XmlTextWriter writer = new XmlTextWriter("C:\\temp\\xmltest.xml", null);
writer.WriteStartDocument();
writer.WriteComment("Commentss: XmlWriter Test Program");
writer.WriteProcessingInstruction("Instruction","Person Record");
writer.WriteStartElement("p", "person", "urn:person");
writer.WriteStartElement("LastName","");
writer.WriteString("Chand");
writer.WriteEndElement();
writer.WriteStartElement("FirstName","");
writer.WriteString("Chand");
writer.WriteEndElement();
writer.WriteElementInt16("age","", 25);
writer.WriteEndDocument();
}
catch (Exception e)
{
Console.WriteLine ("Exception: {0}", e.ToString());
}

return 0;
}
}
}

  插入數據到XML文檔中
   要實現將XML數據插入到一個現存文檔或者一個新文檔中的目的,可以使用XmlNode類和XmlDocument類。具體的實現步驟如下:

   1、引用名稱空間
   因為相關XML的類是在System.XML名稱空間中定義的,所以第一件事情就是引用這個名稱空間:
using System.Xml;

  2、裝載XML到文檔中
   我們可以使用XmlDocument的LoadXml方法將XML數據裝載到一個文檔中,或者是裝載一個現存的XML文檔。下面的代碼裝載XML數據到文檔中:

XmlDocument doc = new XmlDocument();
doc.LoadXml("<XMLFile>" +

" <SomeData>Old Data</SomeData>" +
"</XMLFile>");

  3、插入XML數據
   下面的代碼將XML數據插入到文件中,然后保存為InsertedDoc.xml:

try
{
XmlNode currNode;
XmlDocument doc = new XmlDocument();
doc.LoadXml("<XMLFile>" +
" <SomeData>Old Data</SomeData>" +
"</XMLFile>");
XmlDocumentFragment docFrag = doc.CreateDocumentFragment();
docFrag.InnerXml="<Inserted>" +
" <NewData>Inserted Data</NewData>" +
"</Inserted>";
// insert the availability node into the document
currNode = doc.DocumentElement.FirstChild;
currNode.InsertAfter(docFrag, currNode.LastChild);
//save the output to a file
doc.Save("InsertedDoc.xml");
}
catch (Exception e)
{
Console.WriteLine ("Exception: {0}", e.ToString());
}

  代碼執行后,新文檔的內容如下:
- <XMLFile>
- <SomeData>
Old Data
- <Inserted>
<NewData>Inserted Data</NewData>
</Inserted>
</SomeData>
</XMLFile>


上一篇:SQL Server和XML的集成
下一篇:CSS與XSL簡述
評論列表
正在加載評論……
  
評論   
呢  稱:
驗證碼: 若看不清請點擊更換!
內  容:
 
 
  在線洽談咨詢:
點擊這里,在線洽談   點擊這里,在線洽談   點擊這里,在線洽談
與我交談  與我交談 與我交談
乘車路線    匯款方式   加盟合作  人才招聘  
公司地址:青海省西寧市西關大街73號(三二四部隊招行所四樓)     青ICP備13000578號-1 公安機關備案號:63010402000123    
QQ:147399120    mail:[email protected]    電話: 13897410341    郵編:810000
© Copyright( 2008-2009) QhWins.Com All Rights Reserved    版權所有:西寧威勢電子信息服務有限公司 未經書面制授權,請勿隨意轉載!
業務:青海網站制做青海網站建設青海網頁設計西寧網站制做西寧網站建設青海域名注冊青海網絡推廣青海網站推廣青海空間租用青海軟件開發網站安全網絡安全

苹果部落冲突更换绑定 海南私彩包码技巧 易迅网上棋牌评测网 河南泳坛夺金48丨开奖 四川麻将怎么打 pc28蛋蛋加拿大走势图 MG游戏物理 哪个平台有河内分分彩 福彩3d开奖结果今天 吉林时时奖号结果 幸运飞艇开奖记录统计软件