社区
C#
帖子详情
有关把一个xml文件的节点读出,以treeview显示其tree形结构的问题,
high007
2002-04-29 09:57:33
我的xml文件的内容是:
<parent>
<son>
rambler
</son>
<daughter>
Liyna
</daughter>
</parent>
想用treeview显示为:
--+parent
-son
-daughter
好像用xmlnodereader类,请问如何实现
...全文
75
15
打赏
收藏
有关把一个xml文件的节点读出,以treeview显示其tree形结构的问题,
我的xml文件的内容是: rambler Liyna 想用treeview显示为: --+parent -son -daughter 好像用xmlnodereader类,请问如何实现
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
high007
2002-05-02
打赏
举报
回复
ok
high007
2002-05-02
打赏
举报
回复
分加上了,谢谢
high007
2002-05-02
打赏
举报
回复
谢谢帮忙
问题解决,分加上
wl_95421
2002-05-02
打赏
举报
回复
我是这样表示的
用树进行表示的时候
如果有Content
就将Content的值作为单一子结点
如果是子元素的话
也作为子结点
不过它也有自己的子结点
而Content就没有了
high007
2002-05-01
打赏
举报
回复
分加上,但希望继续关注这个小问题
high007
2002-05-01
打赏
举报
回复
谢谢acptvb(微软全球技术中心 VB技术支持)
王磊
我的xml文件的内容是:
<parent>
Mike
<son>
rambler
</son>
<daughter>
Liyna
</daughter>
</parent>
也就是一个父节点不但有自己的子元素,而且还有自己的content
我应该怎样用treeview把这个关系表达清楚,谢谢
先把分加上了
wl_95421
2002-04-30
打赏
举报
回复
我写了一个这样的程序
留下你的电子邮件
发给你
别忘给分
================================================================
CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!
★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。
★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。
Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
acptvb
2002-04-30
打赏
举报
回复
感谢您使用微软产品。
如果不知道xml文件的“层”有多深,您可以通过如下的一个比较通用的递归程序,来解决问题:
下面提供一段示例程序,供您参考:
private void btnTreeView_Click(object sender, System.EventArgs e)
{
try
{
XmlDocument dom = new XmlDocument();
dom.Load(“c:\\homeworks\\test.xml”);
treeView1.Nodes.Clear();
treeView1.Nodes.Add(new TreeNode(dom.DocumentElement.Name));
TreeNode tNode = new TreeNode();
tNode = treeView1.Nodes[0];
// 调用AddNode方法,具体见下面代码
AddNode(dom.DocumentElement, tNode);
treeView1.ExpandAll();
}
catch(XmlException xmlEx)
{
MessageBox.Show(xmlEx.Message);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void AddNode(XmlNode inXmlNode, TreeNode inTreeNode)
{
XmlNode xNode;
TreeNode tNode;
XmlNodeList nodeList;
int i;
// 检查是否存在子节点
if (inXmlNode.HasChildNodes)
{
nodeList = inXmlNode.ChildNodes;
for(i = 0; i<=nodeList.Count - 1; i++)
{
xNode = inXmlNode.ChildNodes[i];
inTreeNode.Nodes.Add(new TreeNode(xNode.Name));
tNode = inTreeNode.Nodes[i];
AddNode(xNode, tNode);// 递规调用
}
}
else
{
// 显示来自XmlNode的值
inTreeNode.Text = (inXmlNode.OuterXml).Trim();
}
}
关于XmlDocument的更详细信息,请参考MSDN:
ms-help://MS.VSCC/MS.MSDNVS/cpref/html/frlrfSystemXmlXmlDocumentMethodsTopic.htm
— 微软全球技术中心 VB支持中心
本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
high007
2002-04-30
打赏
举报
回复
但如果不知道xml文件的“层”有多深,该怎么办呢?
high007
2002-04-30
打赏
举报
回复
谢谢acptvb(微软全球技术中心 VB技术支持)
王磊
解决后一定加分!!
high007
2002-04-30
打赏
举报
回复
wl_95421(王磊),谢谢
不好意思,刚才没有上网,还在吗?
我得email
zhwnuaa200249101@sina.com
acptvb
2002-04-30
打赏
举报
回复
感谢您使用微软产品。
在C#中,可以通过引入命名空间using System.Xml;,然后实例化一个XmlDocument类,Load指定的XML文档,对其节点进行相应的遍历即可。如下提供一段示例代码,供您参考:
其中test.xml文档,完全安装您提供的上述格式定义。
private void btnXML_Click(object sender, System.EventArgs e)
{
try
{
treeView1.Nodes.Clear();
XmlDocument doc = new XmlDocument();
doc.Load("c:\\homeworks\\test.xml");
TreeNode tParent = null;
TreeNode tValue = null;
TreeNode eName = null;
XmlNodeList nList;
XmlNodeList nListChild;
nList=doc.GetElementsByTagName("parent");
tParent = new TreeNode("parent");
for( int i =0;i<nList.Count;i++)
{
XmlElement element_main = (XmlElement)nList.Item(i);
nListChild = element_main.ChildNodes ;
for( int j =0;j<nListChild.Count;j++)
{
XmlElement child_element = (XmlElement)nListChild.Item(j);
eName = new TreeNode(child_element.Name);
tValue = new TreeNode(child_element.InnerText);
eName.Nodes.Add(tValue);
tParent.Nodes.Add(eName);
}
treeView1.Nodes.Add(tParent);
}
treeView1.ExpandAll();
}
catch(Exception exp)
{
MessageBox.Show("Error...in displaying treeview"+exp.Message);
}
}
关于XmlDocument的更详细信息,请参考MSDN:
ms-help://MS.VSCC/MS.MSDNVS/cpref/html/frlrfSystemXmlXmlDocumentMethodsTopic.htm
— 微软全球技术中心 VB支持中心
本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
high007
2002-04-29
打赏
举报
回复
没人知道吗,
flywlsj
2002-04-29
打赏
举报
回复
c#+xml+xsl
high007
2002-04-29
打赏
举报
回复
帮帮忙阿!
一定加分!!
asp
tree
view
绑定数据库
Tree
View
控件要求绑定到xml数据源上,所以必须设法把数据库中的内存转成
xml文件
,然后再进行绑定。 首先,在网页中添加
一个
XmlDataSource: 和
一个
Tree
View
控件: 然后在Page_load事件中添加以下代码:...
Python与xml之解析篇
它的工作方式是,一次
读出
整个XML文档,通过将本地的Python类链接到
一个
树型
结构
中,生成文档的
一个
内部表示。 这篇文章里我主要用的是SAX这种方法(在dive into python一书中用的是DOM这种方式,我将在下...
ASP.NET动态创建树
树是一种很好用的导航工具,静态的树只要拖控件就可以完成,可是...第一步:在.aspx前端定义
一个
树控件: 第二步:在aspx.cs后台程序去动态的生成树,添加树的子
节点
: using System; us
loadrunner经典面试题
显示
使用最近的dns服务器,将dns解析为ip地址所需要的时间,“dns查找”度量是指示dns解析
问题
或dns服务器
问题
的
一个
很好的指示器。 2、connection
显示
与包含指定的URL的web服务器建立初始连接所需要的时间。...
我在CSDN参与的3000个帖子
2:100分急求,随机输出十个小写字母,但是,要求这十个字母不相同 3:求Sn=a+aa+aaa+…+aaa…a(n个a)之值 4:数组题 望高手帮忙! 5:呵呵,来推荐一下我的网站,本站提供大量当今流行的免费的音乐和免费电影,...
C#
110,537
社区成员
642,576
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章