=============100分,简单的xml读取问题=========

bu4ni 2009-05-05 04:32:58
这是部分测试数据:


<?xml version="1.0" encoding="utf-8" ?>
<begin>

<className>
<web0 value="bbbb.com" >这个加粗</type0>
<web value="abc.com" >sdds23</web>
<web value="cc.cn" >sdds23</web>
<web value="yy.com" >sdds23</web>
<web value="xxx.gov" >sdds23</web>
</className>

<className>
<web0 value="bbbb.com" >这个加粗</type0>
<web value="abc.com" >sdds23</web>
<web value="cc.cn" >sdds23</web>
<web value="yy.com" >sdds23</web>
<web value="xxx.gov" >sdds23</web>
</className>
</begin>

由于很多数据,只给出部分.要求如下:
用Stringbuilder把从xml读出的数据封装成以下格式

<ul>
<li style='font-weight:bold'><a href='bbbb.com'>这个加粗</a></li>
<li><a href='abc.com'>sdds23</a></li>
... ...
</ul>
cs如下形式:
[code=C#]

StringBuilder sb=new StringBuilder();
sb.AppendLine("<ul>")
//..........................此xml数据大约在3W,所以要求效率.最佳者100分送上,分不够再加,谢谢.
//............................另外,凡节点为<web0>的此项加粗
//........................... 每个<className></className>对应一个<ul></ul>的序列
sb.AppendLine("</ul>");
[/code]
...全文
140 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
沉序员 2009-05-05
  • 打赏
  • 举报
回复
good
bu4ni 2009-05-05
  • 打赏
  • 举报
回复
晚上结贴了,谢谢各位
bu4ni 2009-05-05
  • 打赏
  • 举报
回复
.呃...web0结尾搞错了...不好意思<web0 value="bbbb.com" >gjghjghj</web0>
是对的.打自己一下,以示惩罚~~
wanghao3616 2009-05-05
  • 打赏
  • 举报
回复
xml只适合 小数据量的
大数据量 还是放数据库中方便 效率更高
wanghao3616 2009-05-05
  • 打赏
  • 举报
回复
xml3万数据 。。。。
一定很高效
zzxap 2009-05-05
  • 打赏
  • 举报
回复
把数据读取到dataset里面,然后用for 循环 拼字符串 用appen连接。

数据3万,不能全部展开,还要写JS收缩展开,
我姓区不姓区 2009-05-05
  • 打赏
  • 举报
回复
修改了一下你的xml,可以达到要求了:

<?xml version="1.0" encoding="utf-8" ?>
<begin>

<className>
<web0 value="bbbb.com" >gjghjghj</web0>
<web value="abc.com" >sdds23</web>
<web value="cc.cn" >sdds23</web>
<web value="yy.com" >sdds23</web>
<web value="xxx.gov" >sdds23</web>
</className>

<className>
<web0 value="bbbb.com" >gjgjgjg</web0>
<web value="abc.com" >sdds23</web>
<web value="cc.cn" >sdds23</web>
<web value="yy.com" >sdds23</web>
<web value="xxx.gov" >sdds23</web>
</className>
</begin>




XmlDocument doc = new XmlDocument();
doc.Load("E:\\test.xml");
StringBuilder sb = new StringBuilder();
foreach (XmlNode node in doc.GetElementsByTagName("className"))
{
sb.Append("<ul>\n");
if (node.ChildNodes[0].Name == "web0")
sb.AppendFormat("\t<li style='font-weight:bold'><a href='{0}'>{1}</a></li>\n", node.ChildNodes[0].Attributes["value"].Value, node.ChildNodes[0].InnerText);
for (int i = 1; i < node.ChildNodes.Count; i++)
sb.AppendFormat("\t<li><a href='{0}'>{1}</a></li>\n", node.ChildNodes[i].Attributes["value"].Value, node.ChildNodes[1].InnerText);
sb.Append("</ul>\n");
}
Console.WriteLine(sb.ToString());

/*
输出:
<ul>
<li style='font-weight:bold'><a href='bbbb.com'>gjghjghj</a></li>
<li><a href='abc.com'>sdds23</a></li>
<li><a href='cc.cn'>sdds23</a></li>
<li><a href='yy.com'>sdds23</a></li>
<li><a href='xxx.gov'>sdds23</a></li>
</ul>
<ul>
<li style='font-weight:bold'><a href='bbbb.com'>gjgjgjg</a></li>
<li><a href='abc.com'>sdds23</a></li>
<li><a href='cc.cn'>sdds23</a></li>
<li><a href='yy.com'>sdds23</a></li>
<li><a href='xxx.gov'>sdds23</a></li>
</ul>

*/
我姓区不姓区 2009-05-05
  • 打赏
  • 举报
回复
web0 节点以type0结束,没搞错把
Jack2013tong 2009-05-05
  • 打赏
  • 举报
回复
这个不难,http://blog.csdn.net/huwei2003/archive/2009/01/17/3812557.aspx 看下这个,里面有具体的操作方法
zzxap 2009-05-05
  • 打赏
  • 举报
回复
要求越来越BT,分越来越不好混了

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧