资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

详细讲解XML的读、写操作

这篇文章主要为大家详细介绍了解XML的读、写操作,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

创新互联是一家集网站建设,金昌企业网站建设,金昌品牌网站建设,网站定制,金昌网站建设报价,网络营销,网络优化,金昌网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

1、XmlDocument创建XML文档

//1首先要创建一个空的XML文档
XmlDocument xmldoc = new XmlDocument();
//2在XML的文档的最头部加入XML的声明段落
XmlNode xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration, "", "");
xmldoc.AppendChild(xmlnode);
//3增加注释
XmlComment xmlComm = xmldoc.CreateComment("注释内容");
xmldoc.AppendChild(xmlComm);
//4为XML文档加入元素
//加入一个根元素
XmlElement xmlelem = xmldoc.CreateElement("", "学生", "");
//xmltext = xmldoc.CreateTextNode("Root Text");
//xmlelem.AppendChild(xmltext);
XmlAttribute xmlAttr = xmldoc.CreateAttribute("专业");
xmlAttr.Value = "计算机";
xmlelem.Attributes.Append(xmlAttr);
xmldoc.AppendChild(xmlelem);
//注释:其中"xmlelem"是创建的"XmlElement"对象,"xmltext"是"XmlText"对象
//增加子元素
XmlElement xmlelem2 = xmldoc.CreateElement("姓名");
XmlText xmltext = xmldoc.CreateTextNode("Danny");
xmlelem2.AppendChild(xmltext);
xmlelem.AppendChild(xmlelem2);
//xmldoc.ChildNodes.Item(1).AppendChild(xmlelem2);
XmlElement xmlelem3 = xmldoc.CreateElement("性别");
xmltext = xmldoc.CreateTextNode("男");
xmlelem3.AppendChild(xmltext);
xmlelem.AppendChild(xmlelem3);
//xmldoc.ChildNodes.Item(1).AppendChild(xmlelem2);
//5保存创建好的XML文档
xmldoc.Save("c:\\sampledata1.xml");

结果:



<学生 专业="计算机"> <姓名>Danny <性别>男 

2、XmlDocument读取XML文档

XmlNodeReader reader = null;
try
{
string s = "", v = "";
XmlDocument doc = new XmlDocument();
// 装入指定的XML文档
doc.Load("C:\\sampledata1.xml");
//// 创建一个XmlTextReader对象,读取XML数据
//XmlTextReader reader = new XmlTextReader("c:\\books.xml");
//// 载入XmlTextReader类的对象
//doc.Load(reader);
// 设定XmlNodeReader对象来打开XML文件
reader = new XmlNodeReader(doc);
// 读取XML文件中的数据,并显示出来
while (reader.Read())
{
//判断当前读取得节点类型
switch (reader.NodeType)
{
case XmlNodeType.Element:
s = reader.Name;
break;
case XmlNodeType.Text:
{
if (s.Equals("Name"))
v = reader.Value;
else
v = reader.Value;
}
break;
}
}
}
finally
{
//清除打开的数据流
if (reader != null)
reader.Close();
}

3、XmlTextWriter创建XML文档

//1 创建XmlTextWriter类的实例对象
XmlTextWriter textWriter = new XmlTextWriter("c:\\sampledata2.xml", null);
//2格式设置,对元素内容进行缩进
textWriter.Formatting = Formatting.Indented;
//3书写版本为“1.0”的 XML声明
textWriter.WriteStartDocument();
//4写出在名称和文本之间带有空格的处理指令
//String PItext="type='text/xsl' href='book.xsl'";
//textWriter.WriteProcessingInstruction("xml-stylesheet", PItext);
//5增加 指定名称和 可选属性 的DOCTYPE  声明
textWriter.WriteDocType("学生", null, null, "");
//6增加注释
textWriter.WriteComment("XML注释");
//7创建开始元素.
textWriter.WriteStartElement("学生");
//创建属性1
textWriter.WriteAttributeString("专业", "计算机");
//创建属性2
textWriter.WriteAttributeString("日期", "2008-09-01");
//8创建元素1
textWriter.WriteElementString("姓名", "Danny");
//创建元素2
textWriter.WriteStartElement("性别");
textWriter.WriteEntityRef("sex");//创建实体的引用
textWriter.WriteEndElement();
//创建元素3
textWriter.WriteElementString("年龄", "25");
//9写CDATA.
textWriter.WriteCData("年龄大了");
//10关闭根.
textWriter.WriteEndElement();
textWriter.WriteEndDocument();
//11写XML文件,并关闭textWriter.
textWriter.Flush();
textWriter.Close();

结果:


]>

<学生 日期="2008-09-01" 专业="计算机"> <姓名>Danny <性别>&sex; <年龄>25

4、XmlTextReader读取XML文档

// 创建一个XmlTextReader类的对象并调用Read方法来读取文件
XmlTextReader textReader = new XmlTextReader("C:\\sampledata2.xml");
textReader.Read();
// 节点非空则执行循环体
while (textReader.Read())
{
XmlNodeType nType = textReader.NodeType;//当前节点的类型
switch (nType)
{
case XmlNodeType.XmlDeclaration:
break;
case XmlNodeType.Comment:
break;
case XmlNodeType.Attribute:
break;
case XmlNodeType.Element:
break;
case XmlNodeType.Entity:
break;
case XmlNodeType.DocumentType:
break;
case XmlNodeType.Whitespace:
break;
}
// 读取第一个元素
textReader.MoveToElement();
Response.Write("-----------------------");
// 读取该元素的属性并显示在控制台中
Response.Write("Name:" + textReader.Name);
Response.Write("Base URI:" + textReader.BaseURI);
Response.Write("Local Name:" + textReader.LocalName);
Response.Write("Attribute Count:" + textReader.AttributeCount.ToString());
Response.Write("Depth:" + textReader.Depth.ToString());
Response.Write("Line Number:" + textReader.LineNumber.ToString());
Response.Write("Node Type:" + textReader.NodeType.ToString());
Response.Write("Attribute Count:" + textReader.Value.ToString());
}

以上就是XML的读、写操作的详细内容了,看完之后是否有所收获呢?如果想了解更多相关内容,欢迎关注创新互联行业资讯!


当前名称:详细讲解XML的读、写操作
网页网址:http://cdkjz.cn/article/joidgs.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220