| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 462 人关注过本帖
标题:XML中的信息如何显示?
收藏  订阅  推荐  打印
异想天开
Rank: 1
等级:新手上路
帖子:10
积分:230
注册:2008-6-2
XML中的信息如何显示?

下面是我的一个XML文件,
<?xml version="1.0" encoding="gb2312" ?>
- <Files>
- <Node Path="F:\Data\1.jpg">
  <Length>238565</Length>
  <Count>3</Count>
  <Download>238565</Download>
  <block0>79522-79522</block0>
  <block1>159044-159044</block1>
  <block2>238565-238565</block2>
  </Node>
  </Files>
我要把它的结果动态的显示在Listview上,显示的具体结果如下:
文件名称    文件类型       文件大水               进度
1           *jpg         (238565/1024)KB      (Downloan/Length)%
要得到这一结果可以么?
具体应当如何处理呢?
2008-7-29 17:21
师妃暄
Rank: 12Rank: 12Rank: 12
等级:版主
威望:26
帖子:756
积分:8302
注册:2006-3-1

你用的是服务器控件吗?如果是服务器的控件

先到得到XML文档中的值。这样:

XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(aaa.xml);//不知道的XMl的名字是什么

XmlNode root=xmldoc.DocumentElement;//得到根节点
int nodecount=root.ChildNodes.Length;//得到个数

for(int i=0;i<nodecount;i++)
{
        string t_Path=xmldoc.getElementsByTagName("Node")[i].nodeValue;                           
        string t_Length=xmldoc.GetElementsByTagName("Length")[i].ChildNodes[0].NodeValue;
        //........
}

这样,每个值都获取到了,就没什么难度了吧?

[ 本帖最后由 师妃暄 于 2008-7-29 17:54 编辑 ]

有实力才会有魅力 实力来自坚持不懈的努力
2008-7-29 17:43
异想天开
Rank: 1
等级:新手上路
帖子:10
积分:230
注册:2008-6-2

嗯 ,你好强哦!
2008-7-30 08:18
异想天开
Rank: 1
等级:新手上路
帖子:10
积分:230
注册:2008-6-2

我是一菜鸟,按照楼主的思想我写了下,但代码通过不了,int nodecount=root.ChildNodes.Length;//得到个数时报错
2008-7-30 09:54
异想天开
Rank: 1
等级:新手上路
帖子:10
积分:230
注册:2008-6-2

我是一菜鸟,按照楼主的思想我写了一下,但是程序不能通过,在int nodecount=root.ChildNodes.Length;//得到个数,得到根结点过数时报错
2008-7-30 09:57
异想天开
Rank: 1
等级:新手上路
帖子:10
积分:230
注册:2008-6-2

可以了,谢谢楼主
2008-7-30 09:59
xyq701830
Rank: 3Rank: 3
来自:浙江
等级:中级会员
威望:2
帖子:232
积分:2871
注册:2008-6-24

我是显示在列表框中的.
            FileStream fs = new FileStream("文件名.xml", FileMode.Open);
            XmlTextReader tr = new XmlTextReader(fs);
            while(!tr.EOF)
            {
                if (tr.MoveToContent() == XmlNodeType.Element)
                {
                    try
                    {
                        lstShow.Items.Add(reader.ReadElementString());
                    }
                    catch (XmlException er)
                    {
                    }
                }
                else
                {
                    tr.Read();
                }
            }
            fs.Close();
            tr.Close();

菜猪猪``
2008-7-30 09:59
异想天开
Rank: 1
等级:新手上路
帖子:10
积分:230
注册:2008-6-2

for(int i=0;i<nodecount;i++)
{
        string t_Path=xmldoc.getElementsByTagName("Node")[i].nodeValue;                           
        string t_Length=xmldoc.GetElementsByTagName("Length")[i].ChildNodes[0].NodeValue;
        //........
}
好像得不到每一个值哦
2008-7-30 14:49
异想天开
Rank: 1
等级:新手上路
帖子:10
积分:230
注册:2008-6-2

我的想法是在遍历所有节点的时候,先得到每个值,但是这样处理时需要先将每个节点的值进行赋值,但对每个节点的值该如何赋值呢?
2008-7-30 14:51
师妃暄
Rank: 12Rank: 12Rank: 12
等级:版主
威望:26
帖子:756
积分:8302
注册:2006-3-1

在遍历之前申明好数组

遍历一次压进数组

再操作数组就行了

有实力才会有魅力 实力来自坚持不懈的努力
2008-7-30 15:31
共有 461 人关注过本帖
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.059877 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved