admin管理员组文章数量:1538741
2024年3月14日发(作者:)
Xml作为一个非常重要的纯文本格式已经进入了编程的很多领域,作为一个面向应
用层面的c#也一样在很多领域离不开Xml。
但是,c#在很多方面对Xml做了写封装,以至于很多操作Xml的代码,都不需要手动去
写。例如,c#写WebService这种需要大量操作Xml的服务,除了极其个别的情况下,基本
看不到任何操作Xml的代码。这是c#的一个优势,但是,最近发现正是这样一些c#的优势,
导致了新一代c#程序员的能力退化。因为90%的情况下,不需要手动操作Xml,所以,年
轻的c#程序员也觉得没必要为了这10%的情况,而去学如何手工读写Xml。真不知道,ms
提供了这么简便的工具,是ms做的善事还是作的孽。。。
好吧,废话就不说了,转入主题。
1.如何用Xml Dom的方式读取Xml
Xml Dom方式是最原始的一种操作Xml的途径,从.net Framework 1.0开始就开始支持
Dom方式。
1.1如何以Dom方式加载Xml
要读取Xml首先要加载Xml,加载的方式有两种,一种是从流或类似的Reader加载,例
如:
当然还可以从字符串加载:
1.1读取无namespace的Xml
Xml已经准备好了,下面就开始读取这个Xml。现在希望读取data节下面的所有item中
的text,那么就可以:
看看运行结果:
但是,这样写的问题有很多,例如在data节点中有非item的节点,这样访问,也就被
无差别的把非item项也写出来了。例如把如果数据改成这样:
这样,在data节里面,除了4个item,还有一个other,这个other是不需要的,必须
被排除掉,如果直接用第一中ChildNodes去访问的话,会得到这样的结果:
显然“!@#”也被选择出来了,这可不是我们所期望的,
所以,改用XPath的方式访问:
版权声明:本文标题:C中对XML文件的操作 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1710388944a262978.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论