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包我 ...
随机推荐
- Android NFC开发(一)——初探NFC,了解当前前沿技术
Android NFC开发(一)--初探NFC,了解当前前沿技术 官方文档:http://developer.android.com/guide/topics/connectivity/nfc/ind ...
- PS 图像调整算法——阈值
PS里面这个算法,先将图像转成灰度图像,然后根据给定的阈值,大于该阈值的像素赋值为1,小于该阈值的赋值为0. if x>T, x=1; if x<T, x=0; 原图: 效果图:阈值为 1 ...
- Android FrameWork浅识
接收讯息及事件 储存共享数据 处理UI互动的事情 幕后服务(播放背景音乐) 在框架的手中,它的生命的周期完全由框架来控制,new也是由框架.它的逻辑调用则是自己实现,确保强龙的地位 框架反向来控制相应 ...
- Lease问题
经过查明原来是lease引发的问题.不过查问题的过程让我们耽误了很多修复故障的时间,很是不爽. 起因:datanode和regionserver以及master同时挂掉 现象:datanode重启后, ...
- MaterialDesign学习项目
概述 该项目主要用来学习Material Design Support Library和一些android其他技术,也借鉴了网上一些其他优秀的学习资源.该项目目前主要分为俩大部分(后期可能会有一些增加 ...
- 二、添加 Insert into
文档目录 开始使用 初始化查询实例: LambdaToSql.SqlClient DB = new LambdaToSql.SqlClient(); 添加实体数据 ", IP = &quo ...
- 分割url
$(document).ready(function () { var spurl = document.location.toString().split("/"); //把ur ...
- Java 必看的 Spring 知识汇总!有比这更全的算我输!
往 期 精 彩 推 荐 [1]Java Web技术经验总结 [2]15个顶级Java多线程面试题及答案,快来看看吧 [3]面试官最喜欢问的十道java面试题 [4]从零讲JAVA ,给你一条清晰 ...
- 万水千山ABP - 单租户时,成功保存数据后,数据不显示
问题描述: ABP 禁用了多租户,在编辑一个实体记录后,能成功地保存数据,但数据列表中看不到这条记录.打开数据表查看,发现该实体记录的 TenantId 字段值成了 Null , 而不是预期的默认租户 ...
- EJB 介绍
EJB 编辑 EJB是sun的服务器端组件模型,设计目标与核心应用是部署分布式应用程序.凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台.EJB (Enterprise ...