欢迎光临
我们一直在努力

使用.NET读取XML文件-.NET教程,XML应用

建站超值云服务器,限时71元/月

介绍

本文中我将介绍在asp.net应用程序中如何读取xml文件,这是一个十分有用的技巧。使用这个技巧,我们能够定制我们的应用程序的配置文件,也可以读取那些保存在xml文件中的数据。

概论

下面的代码将使用xmltextreader对象将磁盘文件中的数据读取到xmldocument对象中。xmltextreader对象在功能上和streamreader及binaryreader对象十分相似,只不过它是专为读取xml文件而特别设计的。除此以外,xmltextreader对象还有其他一些与xml相关的特性。例如,代码中使用到的whitespacehandling属性告诉应用程序不要为xml文件中多余的空格建立节点。

下面的代码使用xmltextreader对象的documentelement属性来查找xml文档的树状表达形式的根节点。之后,递归地调用addwithchildren方法将将节点及它的子节点一同添加到listbox中。

下面的代码还包含了属性的处理。属性节点并不包含在一个xmldocument对象的节点的子节点集合中。因而,你只能使用xmlnode对象的attributes属性获得属性节点集合。获取了属性节点集合后,代码使用xmlnamednodemap对象来保存这个集合。这个对象能够保存任何类型的xmlnode对象的任何集合。

代码列表

private void btnload_click(object sender, system.eventargs e)

{

xmltextreader reader = new xmltextreader(

server.mappath("mycompany.xml"));

reader.whitespacehandling = whitespacehandling.none;

xmldocument xmldoc = new xmldocument();

//将文件加载到xmldocument对象中

xmldoc.load(reader);

//关闭连接

reader.close();

//向listbox中添加代表文档的元素

lbnodes.items.add("xml document");

//查找根节点,并将它及它的子节点一同添加到listbox中

xmlnode xnod = xmldoc.documentelement;

addwithchildren(xnod,1);

}

private void addwithchildren(xmlnode xnod, int32 intlevel)

{

//将节点及它的子节点一同添加到listbox中

//intlevel 控制缩进的深度

xmlnode xnodworking;

string strindent = new string( ,2 * intlevel);

//如果节点有值,读取它的值

string strvalue = (string) xnod.value;

if(strvalue != null)

{

strvalue = " : " + strvalue;

}

//将节点的详细信息添加到listbox中

lbnodes.items.add(strindent + xnod.name + strvalue);

//如果是元素节点,获取它的属性

if (xnod.nodetype == xmlnodetype.element)

{

xmlnamednodemap mapattributes = xnod.attributes;

//将节点属性添加到listbox中

foreach(xmlnode xnodattribute in mapattributes)

{

lbnodes.items.add(strindent + " " + xnodattribute.name +

" : " + xnodattribute.value);

}

//如果还有子节点,就递归地调用这个程序

if(xnod.haschildnodes)

{

xnodworking = xnod.firstchild;

while (xnodworking != null)

{

addwithchildren(xnodworking, intlevel +1);

xnodworking = xnodworking.nextsibling;

}

}

}

}

}

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 使用.NET读取XML文件-.NET教程,XML应用
分享到: 更多 (0)

相关推荐

  • 暂无文章