標籤:
1、元素和特性的區別:可以給元素添加子項目或特性,而對特性不可以;未經壓縮就在網路上傳輸文檔,則特性佔用更少的頻寬。
2、VS中XML的聲明只支援1.0版本:<?xml version = "1.0"?>
3、命名空間:xmlns:namespace1 = ""
4、驗證XML文檔常用模式而不是文件類型定義(DTD)。其中常用模式格式是XSD而不是XDR。
註:XSD模式中的元素必須屬於名稱空間:http://www.w3.org/2001/XMLSchema;否則,就不能識別這些模式元素。
5、跟元素是使用XmlDocument類的屬性DocumentElement獲得的。
6、遞迴顯示XML文檔內容:
private string FormatText(XmlNode node, string text, string indent) { if (node is XmlText) { text += node.Value; return text; } if (string.IsNullOrEmpty(indent)) indent = ""; else { text += "\r\n" + indent; } if (node is XmlComment) { text += node.OuterXml; return text; } text += "<" + node.Name; if (node.Attributes.Count > 0) { AddAttributes(node, ref text); } if (node.HasChildNodes) { text += ">"; foreach (XmlNode child in node.ChildNodes) { text = FormatText(child, text, indent + " "); } if (node.ChildNodes.Count == 1 && (node.FirstChild is XmlText || node.FirstChild is XmlComment)) text += "</" + node.Name + ">"; else text += "\r\n" + indent + "</" + node.Name + ">"; } else text += " />"; return text; } private void AddAttributes(XmlNode node, ref string text) { foreach (XmlAttribute xa in node.Attributes) { text += " " + xa.Name + "=‘" + xa.Value + "‘"; } }
View Code
註:節點的子節點未必是XMLNode,還可能是XmlText或XmlComment;CreateTextNode可以建立XmlText。
7、XmlNode類包含兩個方法(SelectSingleNode和SelectNodes)常用於從文檔中選擇節點,且不遍曆其中的每個節點,它們都使用一種特殊的查詢語言XPath來選擇節點。
C#XML操作