C#操作XML文件
XML文档结构
<?
xmlversion="1.0"encoding="utf-8"
?>
< Date >
< AddLogDate Date ="6" >
</ AddLogDate >
< ModifiyDate Date ="4" >
</ ModifiyDate >
< DeleteDate Date ="3" >
</ DeleteDate >
</ Date >
< Date >
< AddLogDate Date ="6" >
</ AddLogDate >
< ModifiyDate Date ="4" >
</ ModifiyDate >
< DeleteDate Date ="3" >
</ DeleteDate >
</ Date >
以下方法是多XML文件进行属性设置的代码.
string
xmlpath
=
Server.MapPath(
"
.
"
)
+
"
/DataXml/Date.xml
"
;
XmlDocumentxmldoc = new XmlDocument();
xmldoc.Load(xmlpath);
XmlNodeListtopm = xmldoc.DocumentElement.ChildNodes;
foreach (XmlElementelement in topm)
... {
if(element.Name=="AddLogDate")
...{
if(this.txtAddDay.Text.Trim()!="")
...{
element.SetAttribute("Date",this.txtAddDay.Text);
}
else
...{
element.SetAttribute("Date",Adate.ToString());
}
}
if(element.Name=="ModifiyDate")
...{
if(this.txtAddDay.Text.Trim()!="")
...{
element.SetAttribute("Date",this.txtModityDay.Text);
}
else
...{
element.SetAttribute("Date",Mdate.ToString());
}
}
if(element.Name=="DeleteDate")
...{
if(this.txtAddDay.Text.Trim()!="")
...{
element.SetAttribute("Date",this.txtDeleteDay.Text);
}
else
...{
element.SetAttribute("Date",Mdate.ToString());
}
}
}
xmldoc.Save(xmlpath);
XmlDocumentxmldoc = new XmlDocument();
xmldoc.Load(xmlpath);
XmlNodeListtopm = xmldoc.DocumentElement.ChildNodes;
foreach (XmlElementelement in topm)
... {
if(element.Name=="AddLogDate")
...{
if(this.txtAddDay.Text.Trim()!="")
...{
element.SetAttribute("Date",this.txtAddDay.Text);
}
else
...{
element.SetAttribute("Date",Adate.ToString());
}
}
if(element.Name=="ModifiyDate")
...{
if(this.txtAddDay.Text.Trim()!="")
...{
element.SetAttribute("Date",this.txtModityDay.Text);
}
else
...{
element.SetAttribute("Date",Mdate.ToString());
}
}
if(element.Name=="DeleteDate")
...{
if(this.txtAddDay.Text.Trim()!="")
...{
element.SetAttribute("Date",this.txtDeleteDay.Text);
}
else
...{
element.SetAttribute("Date",Mdate.ToString());
}
}
}
xmldoc.Save(xmlpath);
获取xml中指定节点属性:
/**/
///<summary>
///获取节点中属性值
///</summary>
///<paramname="xmlNodeName"></param>
///<paramname="attributesName"></param>
///<returns></returns>
protected int GetDays( string xmlNodeName, string attributesName)
... {
stringxmlpath=Server.MapPath(".")+"/DataXml/Date.xml";
XmlDocumentxmldoc=newXmlDocument();
xmldoc.Load(xmlpath);
intday=0;
XmlNodeListtopm=xmldoc.DocumentElement.ChildNodes;
foreach(XmlElementelementintopm)
...{
if(element.Name==xmlNodeName)
...{
day=int.Parse(element.Attributes[attributesName].Value);
}
}
returnday;
}
///获取节点中属性值
///</summary>
///<paramname="xmlNodeName"></param>
///<paramname="attributesName"></param>
///<returns></returns>
protected int GetDays( string xmlNodeName, string attributesName)
... {
stringxmlpath=Server.MapPath(".")+"/DataXml/Date.xml";
XmlDocumentxmldoc=newXmlDocument();
xmldoc.Load(xmlpath);
intday=0;
XmlNodeListtopm=xmldoc.DocumentElement.ChildNodes;
foreach(XmlElementelementintopm)
...{
if(element.Name==xmlNodeName)
...{
day=int.Parse(element.Attributes[attributesName].Value);
}
}
returnday;
}