志在指尖
用双手敲打未来

XML帮助类 添加/删去/查找节点

//添加xml节点
privatevoidAddXml(stringimage,stringtitle)
{
XmlDocumentxmlDoc=newXmlDocument();
xmlDoc.Load(Server.MapPath(“../flash/dati.xml”));
XmlNoderoot=xmlDoc.SelectSingleNode(“images”);//查找<images>
XmlElementxe1=xmlDoc.CreateElement(“thumb”);//创建一个<thumb>节点
xe1.SetAttribute(“displayNum”,”6″);//设置该节点displayNum属性
xe1.SetAttribute(“separation”,”5″);//设置该节点separation属性
XmlElementxesub1=xmlDoc.CreateElement(“image”);
xesub1.InnerText=image;//设置文本节点
xe1.AppendChild(xesub1);//添加到thumb节点中
XmlElementxesub2=xmlDoc.CreateElement(“description”);
xesub2.InnerText=title;
xe1.AppendChild(xesub2);
root.AppendChild(xe1);//添加到<images>节点中
xmlDoc.Save(Server.MapPath(“../flash/dati.xml”));
}
publicvoidWriteXml(stringFileName,stringname,stringage,stringsex)
{
//初始化XML文档操作类
XmlDocumentmyXml=newXmlDocument();
//加载指定的XML文件
myXml.Load(FileName);
//添加元素-姓名
XmlElementele0=myXml.CreateElement(“name”);
XmlTextText0=myXml.CreateTextNode(name);
//添加元素-年龄
XmlElementele1=myXml.CreateElement(“age”);
XmlTextText1=myXml.CreateTextNode(age);
//添加元素-性别
XmlElementele2=myXml.CreateElement(“sex”);
XmlTextText2=myXml.CreateTextNode(sex);
//添加元素的节点—studentRecord
XmlNodenewElem=myXml.CreateNode(“element”,”studentRecord”,””);
//在节点中添加元素
newElem.AppendChild(ele0);
newElem.LastChild.AppendChild(Text0);
newElem.AppendChild(ele1);
newElem.LastChild.AppendChild(Text1);
newElem.AppendChild(ele2);
newElem.LastChild.AppendChild(Text2);
//将节点添加到文档中
XmlElementroot=myXml.DocumentElement;
root.AppendChild(newElem);
//保存所有的修改
myXml.Save(FileName);
}
//删除节点内容
privatevoidDelXml(stringimage)
{
XmlDocumentxmlDoc=newXmlDocument();
xmlDoc.Load(Server.MapPath(“../flash/dati.xml”));
XmlNodeListxnl=xmlDoc.SelectSingleNode(“images”).ChildNodes;
foreach(XmlNodexninxnl)
{
XmlElementxe=(XmlElement)xn;
if(xe.InnerText.IndexOf(image,0)>=0)
{
xn.ParentNode.RemoveChild(xn);
//xn.RemoveAll();
}
}
xmlDoc.Save(Server.MapPath(“../flash/dati.xml”));
}
//修改
foreach(XmlNodexninnodeList)//遍历所有子节点
{
XmlElementxe=(XmlElement)xn;//将子节点类型转换为XmlElement类型
if(xe.GetAttribute(“genre”)==””)//判读条件
{
xe.SetAttribute(“genre”,newStr);//则修改该属性为newstr
XmlNodeListnls=xe.ChildNodes;//继续获取xe子节点的所有子节点
foreach(XmlNodexn1innls)//遍历
{
XmlElementxe2=(XmlElement)xn1;//转换类型
if(xe2.Name==”author”)//如果找到//判读条件
{
xe2.InnerText=newText;//则修改
break;//找到退出来就可以了
}
}
break;
}
//写XML
privatevoidWriteXML()
{
XmlTextWriterxtw=newXmlTextWriter(@”MessageBook\Data\MessageBook1.xml”),null);
xtw.Formatting=Formatting.Indented;
xtw.WriteStartDocument();
//xtw.WriteComment();
xtw.WriteStartElement(“Item”);
xtw.WriteElementString(“UserName”,”Tom”);
xtw.WriteEndElement();
xtw.WriteEndDocument();
xtw.Close();
}
//读XML
privatevoidReadXML()
{
//创建一个XmlTextReader类的对象并调用Read方法来读取XML文件
XmlTextReadertextReader=newXmlTextReader(“C:\\books.xml”);
textReader.Read();
//节点非空则执行循环体
while(textReader.Read())
{
//读取第一个元素
textReader.MoveToElement();
Console.WriteLine(“XmlTextReaderPropertiesTest”);
Console.WriteLine(“===================”);
//读取该元素的属性并显示在控制台中
Console.WriteLine(“Name:”+textReader.Name);
Console.WriteLine(“BaseURI:”+textReader.BaseURI);
Console.WriteLine(“LocalName:”+textReader.LocalName);
Console.WriteLine(“AttributeCount:”+textReader.AttributeCount.ToString());
Console.WriteLine(“Depth:”+textReader.Depth.ToString());
Console.WriteLine(“LineNumber:”+textReader.LineNumber.ToString());
Console.WriteLine(“NodeType:”+textReader.NodeType.ToString());
Console.WriteLine(“AttributeCount:”+textReader.Value.ToString());
}

未经允许不得转载:IT技术网站 » XML帮助类 添加/删去/查找节点
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载