写入操作:
private void setXML(List<Article> list)
{
XmlDocument xd = new XmlDocument();
string xmlurl = HttpContext.Current.Server.MapPath("setData.xml");
xd.Load(xmlurl);
xd["chart"].RemoveAll();
if (list!=null)
{
for (int i = 0; i < list.Count; i++)
{
XmlElement el = xd.CreateElement("set"); //添加person节点
el.SetAttribute("label", list[i].ArticleTitle); //添加person节点的属性"name"
el.SetAttribute("value", list[i].Click.ToString()); //添加person节点的属性 "image"
xd["chart"].AppendChild(el);
}
}
xd.Save(HttpContext.Current.Server.MapPath("setData.xml"));
}
读出操作:
XML文件
<xml>
<song id="song1">
<li id="li1">
<wei id="wei1">sdfsdfa1</wei>
<wei id="wei2">sdfsdfa2</wei>
<wei id="wei3">sdfsdfa3</wei>
<wei id="wei4">sdfsdfa4</wei>
</li>
<li id="li2"></li>
<li id="li3">
<wei id="wei1">sdfsdfa5</wei>
<wei id="wei2">sdfsdfa6</wei>
<wei id="wei3">sdfsdfa7</wei>
<wei id="wei4">sdfsdfa8</wei>
</li>
<li id="li4"></li>
<li id="li5">
<wei id="wei1">sdfsdfa9</wei>
<wei id="wei2">sdfsdfa10</wei>
<wei id="wei3">sdfsdfa11</wei>
<wei id="wei4">sdfsdfa12</wei>
</li>
<li id="li6"></li>
</song>
<song id="song2">
<li id="li1">
<wei id="wei1">sdfsdfa1</wei>
<wei id="wei2">sdfsdfa2</wei>
<wei id="wei3">sdfsdfa3</wei>
<wei id="wei4">sdfsdfa4</wei>
</li>
<li id="li2"></li>
<li id="li3">
<wei id="wei1">sdfsdfa5</wei>
<wei id="wei2">sdfsdfa6</wei>
<wei id="wei3">sdfsdfa7</wei>
<wei id="wei4">sdfsdfa8</wei>
</li>
<li id="li4"></li>
<li id="li5">
<wei id="wei1">sdfsdfa9</wei>
<wei id="wei2">sdfsdfa10</wei>
<wei id="wei3">sdfsdfa11</wei>
<wei id="wei4">sdfsdfa12</wei>
</li>
<li id="li6"></li>
</song>
</xml>
读出代码:
private void GetXmlNodeValue(string liId, string weiId)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("XMLFile.xml"));
//读出指定的节点
XmlNodeList list = xmlDoc.GetElementsByTagName("wei");
foreach (XmlNode item in list)
{
s += item.InnerText.ToUpper()+"@";
}
XmlNode xmlNode = xmlDoc.SelectSingleNode("xml"); //取得xml下面的低一级节点
foreach (XmlNode song in xmlNode)
{
string i = song.Attributes.GetNamedItem("id").InnerText.ToUpper();
if (song.SelectSingleNode("li") != null)
{
foreach (XmlNode li in song)
{
//XmlNode li = song.SelectSingleNode("li");//得到li的节点
//判断li的节点的Id是否等于参数Id
string lii = li.Attributes.GetNamedItem("id").InnerText.ToUpper();
if (lii == liId.ToUpper())
{
foreach (XmlNode wei in li)
{
if (li.SelectSingleNode("wei") != null)
{
if (wei.Attributes.GetNamedItem("id").InnerText.ToUpper() == weiId.ToUpper())
{
s += wei.InnerText + "@";
}
}
}
}
}
}
}
}