爱游戏全站app官网入口-爱游戏官网

详细讲解xml的读、写操作 -爱游戏全站app官网入口

2023-06-28

这篇文章主要为大家详细介绍了解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的读、写操作的详细内容了,看完之后是否有所收获呢?如果想了解更多相关内容,欢迎关注本站行业资讯!

网站地图