XML——XML操作
操作XML文件需要引用命名空間:System.Xml;
向Xml文件中添加信息
添加Student.xml文件,文件信息如下:
代碼:
XmlDocument doc = new XmlDocument();
//修改.exe文件夾下的Student.xml,需要單機程序中的Student.xml文件將其“復制到輸出目錄”屬性,修改為“始終復制”
//string exePath = Application.StartupPath+"\Student.xml";
//doc.Load(exePath);
//將程序目錄下的Student.Xml中添加學生信息。
String exePath = Application.StartupPath;
int idx = exePath.LastIndexOf("bin");
exePath = exePath.Substring(0, idx) + "Student.xml";
doc.Load(exePath);
XmlNode node = doc.CreateNode(XmlNodeType.Element, "Student", "");
XmlAttribute attr = doc.CreateAttribute("class");
attr.Value = "一班";
node.Attributes.Append(attr);
XmlNode name = doc.CreateNode(XmlNodeType.Element, "Name","");
name.InnerText = "had";
XmlNode gender = doc.CreateNode(XmlNodeType.Element, "Gender", "");
gender.InnerText = "女";
XmlNode age = doc.CreateNode(XmlNodeType.Element, "Age", "");
age.InnerText = "16";
node.AppendChild(name);
node.AppendChild(gender);
node.AppendChild(age);
doc["Students"].AppendChild(node);
doc.Save(exePath);
刪除Xml文件中的數據
XmlDocument doc = new XmlDocument();
//修改.exe文件夾下的Student.xml,需要單機程序中的Student.xml文件將其“復制到輸出目錄”屬性,修改為“始終復制”
//string exePath = Application.StartupPath+"\Student.xml";
//doc.Load(exePath);
//將程序目錄下的Student.Xml中添加學生信息。
String exePath = Application.StartupPath;
int idx = exePath.LastIndexOf("bin");
exePath = exePath.Substring(0, idx) + "Student.xml";
doc.Load(exePath);
XmlNodeList list = doc["Students"].ChildNodes;
foreach (XmlNode node in list)
{
foreach (XmlNode nd in node.ChildNodes)
{
if (nd.InnerText == "had")
{
nd.ParentNode.ParentNode.RemoveChild(nd.ParentNode);
doc.Save(exePath);
return;
}
}
}
修改xml中的數據:
XmlDocument doc = new XmlDocument();
//修改.exe文件夾下的Student.xml,需要單機程序中的Student.xml文件將其“復制到輸出目錄”屬性,修改為“始終復制”
//string exePath = Application.StartupPath+"\Student.xml";
//doc.Load(exePath);
//將程序目錄下的Student.Xml中添加學生信息。
String exePath = Application.StartupPath;
int idx = exePath.LastIndexOf("bin");
exePath = exePath.Substring(0, idx) + "Student.xml";
doc.Load(exePath);
XmlNodeList list = doc["Students"].ChildNodes;
for (int i = 0; i < list.Count; i++)
{
XmlNode node = list[i];
if (node["Name"].InnerText == "李四")
{
node["Gender"].InnerText = "男";
}
foreach (XmlNode nd in node.ChildNodes)
{
if (nd.InnerText == "張三")
{
nd.ParentNode["Gender"].InnerText = "女";
}
}
}
doc.Save(exePath);
讀取xml文件的所有數據
XmlDocument doc = new XmlDocument();
//修改.exe文件夾下的Student.xml,需要單機程序中的Student.xml文件將其“復制到輸出目錄”屬性,修改為“始終復制”
//string exePath = Application.StartupPath+"\\Student.xml";
//doc.Load(exePath);
//將程序目錄下的Student.Xml中添加學生信息。
String exePath = Application.StartupPath;
int idx = exePath.LastIndexOf("bin");
exePath = exePath.Substring(0, idx) + "Student.xml";
doc.Load(exePath);
XmlNodeList list = doc["Students"].ChildNodes;
foreach (XmlNode node in list)
{
String name = node["Name"].InnerText;
string gender = node["Gender"].InnerText;
string age = node["Age"].InnerText;
listBox1.Items.Add(name + "," + age + "," + gender);
}
創建Xml文件,并向里面添加數據
private void button1_Click(object sender, EventArgs e)
{
CreateXmlFile();
}
public void CreateXmlFile()
{
String exePath = Application.StartupPath;
int idx = exePath.LastIndexOf("bin");
exePath = exePath.Substring(0, idx) + "aa.xml";
XmlDocument xmlDoc = new XmlDocument();
//創建類型聲明節點
XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "");
xmlDoc.AppendChild(node);
//創建根節點
XmlNode root = xmlDoc.CreateElement("User");
xmlDoc.AppendChild(root);
CreateNode(xmlDoc, root, "name", "xuwei");
CreateNode(xmlDoc, root, "sex", "male");
CreateNode(xmlDoc, root, "age", "25");
xmlDoc.Save(exePath);
}
///
/// 創建節點
///
/// ? xml文檔
/// 父節點
/// ? 節點名
/// ? 節點值
///
public void CreateNode(XmlDocument xmlDoc, XmlNode parentNode, string name, string value)
{
XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, name, null);
node.InnerText = value;
parentNode.AppendChild(node);
}
XML
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。