C# 读取XML节点属性值
xml文件格式如下:
<?xml version="1.0" encoding="UTF-8" ?>
<Product type="15" total="35">
<type>
<T gid="1" sum="100" />
<T gid="2" sum="200" />
<T gid="3" sum="100" />
</type>
<Mobile>
<G gn="诺基亚" pr="1800" sum="100" />
<G gn="摩托罗拉" pr="1700" sum="200" />
<G gn="三星" pr="1600" sum="300" />
<G gn="飞利浦" pr="1750" sum="90" />
</Mobile>
</Product>
//-----------------------------------
我需要读取Product节点的type(15) total(35)值 以及 Mobile节点下的子节点G里面的属性gn、pr、sum的值.
最好把type节点下的T 属性也读取出来
XmlTextReader xml = new XmlTextReader(xmlfile);
while (xml.Read())
{ 这里如何写代码?
textBox1 .AppendText();//将属性值分行输出至textBox1,格式为:商品:诺基亚 - 价钱:1800 - 数量:100 } class MyXMLTextReader
{
static void Main(string[] args)
{
XmlTextReader xml = new XmlTextReader(@"Product.xml");
xml.WhitespaceHandling = WhitespaceHandling.None; while (xml.Read())
{
if (xml.NodeType == XmlNodeType.Element)
{
if (xml.Name == "Product")
ReadTypeAndTotal(xml);
else if (xml.Name == "Mobile")
ReadG(xml);
}
} Console.ReadKey(true);
} // 读取Product节点的type(15) total(35)值
private static void ReadTypeAndTotal(XmlTextReader xml)
{
Console.Write("Product节点的type: ");
Console.WriteLine(xml.GetAttribute("type"));
Console.Write("Product节点的total: ");
Console.WriteLine(xml.GetAttribute("total"));
} // Mobile节点下的子节点G里面的属性gn、pr、sum的值
private static void ReadG(XmlTextReader xml)
{
Console.WriteLine();
while (xml.Read())
{
if (xml.NodeType == XmlNodeType.Element)
{
if (xml.Name != "G")
break; Console.Write("商品:");
Console.Write(xml.GetAttribute("gn"));
Console.Write(" - ");
Console.Write("价钱:");
Console.Write(xml.GetAttribute("pr"));
Console.Write(" - ");
Console.Write("数量:");
Console.WriteLine(xml.GetAttribute("sum"));
}
}
}
}
C# 读取XML节点属性值的更多相关文章
- 用 AJAX 读取xml 节点属性值
<html> <head> <title>AjaxTest</title> <script> var xmlHttp; function c ...
- js 解析XML 在Edge浏览器下面 无法准确读到节点属性值
js 解析XML 在Edge浏览器下面 无法准确读到节点属性值 Dom.documentElement.childNodes[j].attributes[2] 这个是大众写法 在win10的edge ...
- C#读取xml节点数据方法小结
本文实例总结了C#读取xml节点数据的方法.分享给大家供大家参考.具体如下: 第一种: 使用XPath XML的路径我配置在web.config 的appSettings节点下 <appSett ...
- 详解SimpleXML添加_修改_删除_遍历XML节点属性
SimpleXML概述 要处理XML 文件,有两种传统的处理思路:SAX 和DOM.SAX 基于事件触发机制,对XML 文件进行一次扫描,完成要进行的处理:DOM 则将整个XML 文件构造为一棵DOM ...
- jquery 取子节点及当前节点属性值
分享下jquery取子节点及当前节点属性值的方法. <li class="menulink"><a href="#" rel="ex ...
- flash读取XML节点内容以及节点属性
原文地址:http://hi.baidu.com/yqzdm/item/f95fd9d24679d916d90e44c9 一.xml的写法: 这里的xml只是在有限范围内的了解,限于写一些简单的用于f ...
- 递归遍历XML节点属性和属性值
public static XmlDocument FileMergedIntoXML(string strXmlPathPublic) { string strXmlPathPublic = str ...
- java对xml节点属性的增删改查
学习本文之前请先看我的另一篇文章JAVA对XML节点的操作可以对XML操作有更好的了解. package vastsum; import java.io.File; import java.io.Fi ...
- Dom4j使用Xpath语法读取xml节点
我们可以使用Xpath的语法来轻易的读取xml的某个节点[类似于jQuery的选择器]: 使用Xpath语法需要添加新的jaxen-1.1-beta-7.rar 这个jar包 dom4j完整jar包我 ...
随机推荐
- Linux set命令参数及用法详解
linux set 命令 功能说明:设置shell. 语 法:set [+-abCdefhHklmnpPtuvx] 补充说明:用set 命令可以设置各种shell选项或者列 出shell变量.单个选 ...
- ORACLE中用rownum分页并排序的SQL语句
ORACLE中用rownum分页并排序的SQL语句 以前分页习惯用这样的SQL语句: select * from (selectt.*,rownum row_num frommytable t ord ...
- Linux进程通信学习总结
http://blog.csdn.net/xiaoweibeibei/article/details/6552498 SYSV子系统的相关概念 引用标识符:引用标识符是一个整数,表示每一个SYSV ...
- 面试之路(16)-归并排序详解(MergeSort)递归和非递归实现
归并排序的概念及定义 归并排序(Merge)是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的.然后再把有序子序列合并为整体有序序列. 归并排序是建立 ...
- OS X 平台的 8 个实用终端工具
本文由 伯乐在线 - shinancao 翻译自 mitchchn.欢迎加入iOS小组.转载请参见文章末尾处的要求. OS X 终端对外开放了许多很强大的UNIX实用工具和脚本.如果你是从Linux转 ...
- rails项目如何改变已建立的model结构
有时候第一次用rails g model或者scaffold建立数据模型的时候难免会出错,比如字段类型错误或者字段名称错误,甚至少添加或多添加了几个字段哦.这种情况下手动去修改数据结构是比较头疼的,官 ...
- ruby中printf "%x"%-4为何会打印开头..
先看一下ruby中printf "%x" % -4的返回结果: irb(main):134:0> printf "%x\n" % -4 ..fc 前面的. ...
- rubygem若干常用选项参数
可以用gem help commands看所有支持的参数,这个比gem -h显示的全: wisy@wisy-ThinkPad-X61:~/src/ruby_src$ gem help commands ...
- 关于gcc的一点小人性化提示
现在对于大多数平台的C编译器来说都会有很多种选择,而gcc和clang无疑是2个非常优秀的C编译器.当然他们也不只是C编译器.我最近用clang的比较多,原因有很多.不过一些小的细节很让我喜欢,比如O ...
- C# 操作Word 文档——添加Word页眉、页脚和页码
在Word文档中,我们可以通过添加页眉.页脚的方式来丰富文档内容.添加页眉.页脚时,可以添加时间.日期.文档标题,文档引用信息.页码.内容解释.图片/LOGO等多种图文信息.同时也可根据需要调整文字或 ...