中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳細講解XML的讀、寫操作

發布時間:2020-05-09 17:56:43 來源:億速云 閱讀:198 作者:Leah 欄目:編程語言

這篇文章主要為大家詳細介紹了解XML的讀、寫操作,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下。

1、XmlDocument創建XML文檔

//1首先要創建一個空的XML文檔
XmlDocument xmldoc = new XmlDocument();
//2在XML的文檔的最頭部加入XML的聲明段落
XmlNode xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration, "", "");
xmldoc.AppendChild(xmlnode);
//3增加注釋
XmlComment xmlComm = xmldoc.CreateComment("注釋內容");
xmldoc.AppendChild(xmlComm);
//4為XML文檔加入元素
//加入一個根元素
XmlElement xmlelem = xmldoc.CreateElement("", "學生", "");
//xmltext = xmldoc.CreateTextNode("Root Text");
//xmlelem.AppendChild(xmltext);
XmlAttribute xmlAttr = xmldoc.CreateAttribute("專業");
xmlAttr.Value = "計算機";
xmlelem.Attributes.Append(xmlAttr);
xmldoc.AppendChild(xmlelem);
//注釋:其中"xmlelem"是創建的"XmlElement"對象,"xmltext"是"XmlText"對象
//增加子元素
XmlElement xmlelem2 = xmldoc.CreateElement("姓名");
XmlText xmltext = xmldoc.CreateTextNode("Danny");
xmlelem2.AppendChild(xmltext);
xmlelem.AppendChild(xmlelem2);
//xmldoc.ChildNodes.Item(1).AppendChild(xmlelem2);
XmlElement xmlelem3 = xmldoc.CreateElement("性別");
xmltext = xmldoc.CreateTextNode("男");
xmlelem3.AppendChild(xmltext);
xmlelem.AppendChild(xmlelem3);
//xmldoc.ChildNodes.Item(1).AppendChild(xmlelem2);
//5保存創建好的XML文檔
xmldoc.Save("c:\\sampledata1.xml");

結果:

<?xml version="1.0"?>
<!--注釋內容-->
<學生 專業="計算機"> <姓名>Danny</姓名> <性別>男</性別> </學生>

2、XmlDocument讀取XML文檔

XmlNodeReader reader = null;
try
{
string s = "", v = "";
XmlDocument doc = new XmlDocument();
// 裝入指定的XML文檔
doc.Load("C:\\sampledata1.xml");
//// 創建一個XmlTextReader對象,讀取XML數據
//XmlTextReader reader = new XmlTextReader("c:\\books.xml");
//// 載入XmlTextReader類的對象
//doc.Load(reader);
// 設定XmlNodeReader對象來打開XML文件
reader = new XmlNodeReader(doc);
// 讀取XML文件中的數據,并顯示出來
while (reader.Read())
{
//判斷當前讀取得節點類型
switch (reader.NodeType)
{
case XmlNodeType.Element:
s = reader.Name;
break;
case XmlNodeType.Text:
{
if (s.Equals("Name"))
v = reader.Value;
else
v = reader.Value;
}
break;
}
}
}
finally
{
//清除打開的數據流
if (reader != null)
reader.Close();
}

3、XmlTextWriter創建XML文檔

//1 創建XmlTextWriter類的實例對象
XmlTextWriter textWriter = new XmlTextWriter("c:\\sampledata2.xml", null);
//2格式設置,對元素內容進行縮進
textWriter.Formatting = Formatting.Indented;
//3書寫版本為“1.0”的 XML聲明
textWriter.WriteStartDocument();
//4寫出在名稱和文本之間帶有空格的處理指令
//String PItext="type='text/xsl' href='book.xsl'";
//textWriter.WriteProcessingInstruction("xml-stylesheet", PItext);
//5增加 指定名稱和 可選屬性 的DOCTYPE  聲明
textWriter.WriteDocType("學生", null, null, "<!ENTITY sex '男'>");
//6增加注釋
textWriter.WriteComment("XML注釋");
//7創建開始元素.
textWriter.WriteStartElement("學生");
//創建屬性1
textWriter.WriteAttributeString("專業", "計算機");
//創建屬性2
textWriter.WriteAttributeString("日期", "2008-09-01");
//8創建元素1
textWriter.WriteElementString("姓名", "Danny");
//創建元素2
textWriter.WriteStartElement("性別");
textWriter.WriteEntityRef("sex");//創建實體的引用
textWriter.WriteEndElement();
//創建元素3
textWriter.WriteElementString("年齡", "25");
//9寫CDATA.
textWriter.WriteCData("年齡大了");
//10關閉根.
textWriter.WriteEndElement();
textWriter.WriteEndDocument();
//11寫XML文件,并關閉textWriter.
textWriter.Flush();
textWriter.Close();

結果:

<?xml version="1.0"?>
<!DOCTYPE 學生[<!ENTITY sex '男'>]>
<!--XML注釋-->
<學生 日期="2008-09-01" 專業="計算機"> <姓名>Danny</姓名> <性別>&sex;</性別> <年齡>25</年齡>
<![CDATA[年齡大了]]>
</學生>

4、XmlTextReader讀取XML文檔


// 創建一個XmlTextReader類的對象并調用Read方法來讀取文件
XmlTextReader textReader = new XmlTextReader("C:\\sampledata2.xml");
textReader.Read();
// 節點非空則執行循環體
while (textReader.Read())
{
XmlNodeType nType = textReader.NodeType;//當前節點的類型
switch (nType)
{
case XmlNodeType.XmlDeclaration:
break;
case XmlNodeType.Comment:
break;
case XmlNodeType.Attribute:
break;
case XmlNodeType.Element:
break;
case XmlNodeType.Entity:
break;
case XmlNodeType.DocumentType:
break;
case XmlNodeType.Whitespace:
break;
}
// 讀取第一個元素
textReader.MoveToElement();
Response.Write("-----------------------");
// 讀取該元素的屬性并顯示在控制臺中
Response.Write("Name:" + textReader.Name);
Response.Write("Base URI:" + textReader.BaseURI);
Response.Write("Local Name:" + textReader.LocalName);
Response.Write("Attribute Count:" + textReader.AttributeCount.ToString());
Response.Write("Depth:" + textReader.Depth.ToString());
Response.Write("Line Number:" + textReader.LineNumber.ToString());
Response.Write("Node Type:" + textReader.NodeType.ToString());
Response.Write("Attribute Count:" + textReader.Value.ToString());
}

以上就是XML的讀、寫操作的詳細內容了,看完之后是否有所收獲呢?如果想了解更多相關內容,歡迎關注億速云行業資訊!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

xml
AI

图们市| 黄山市| 诏安县| 巫溪县| 汝州市| 永泰县| 玉环县| 女性| 北京市| 二手房| 黄大仙区| 兰溪市| 奇台县| 上饶县| 锦州市| 灌云县| 德惠市| 苗栗县| 长白| 蚌埠市| 上饶县| 勐海县| 新巴尔虎右旗| 思南县| 西乡县| 盐边县| 蚌埠市| 海阳市| 鄂伦春自治旗| 茌平县| 漳平市| 南安市| 福海县| 天等县| 芜湖市| 南投县| 富阳市| 石嘴山市| 赤壁市| 永年县| 丰城市|