这是部分测试数据:
<?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]

解决方案 »

  1.   

    这个不难,http://blog.csdn.net/huwei2003/archive/2009/01/17/3812557.aspx 看下这个,里面有具体的操作方法
      

  2.   

    web0 节点以type0结束,没搞错把
      

  3.   

    修改了一下你的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>*/
      

  4.   

    把数据读取到dataset里面,然后用for 循环 拼字符串 用appen连接。数据3万,不能全部展开,还要写JS收缩展开,
      

  5.   

    xml3万数据  。 
    一定很高效
      

  6.   

    xml只适合 小数据量的 
    大数据量 还是放数据库中方便  效率更高
      

  7.   

    .呃...web0结尾搞错了...不好意思<web0 value="bbbb.com"  >gjghjghj</web0>
    是对的.打自己一下,以示惩罚~~