<?xml version="1.0" encoding="GB2312"?>
<languagePack>
<hot.aspx>
<html_title>热点新闻</html_title>
<re_num_1>(共有评论</re_num_1>
<re_num_2>个)</re_num_2>
</hot.aspx>

<imgindex.aspx>
<html_title>图片新闻</html_title>
<more>更多</more>
<img_news>图片新闻...</img_news>
</imgindex.aspx>

<js.aspx>
<news_unit>篇</news_unit>
</js.aspx>

<list.aspx>
<title_topic> 专题新闻</title_topic>
</list.aspx>
</languagePack>
要读取hot.aspx节点的所有内容,赋值给一个哈希表,如何表?

解决方案 »

  1.   

    XmlDocument xmldoc=new XmlDocument();
    string xmlcontent="上面的xml内容";
    xmldoc.LoadXml(xmlcontent);XmlNodeList nl= xmldoc.SelectNodes("/languagePack/hot.aspx");
    Hashtable ht=new Hashtable();
    ht.Add("nl",nl);
      

  2.   

    System.Xml.XmlDocument xmldoc = new System.Xml.XmlDocument();
    xmldoc.Load("c:\\test.xml");
    System.Xml.XmlNodeList xmlNode = xmldoc.SelectNodes("languagePack/hot.aspx");
    Hashtable ht=new Hashtable();
    ht.Add(xmlNode[0].SelectSingleNode("html_title").Name, xmlNode[0].SelectSingleNode("html_title").Value);
    ht.Add(xmlNode[0].SelectSingleNode("re_num_1").Name, xmlNode[0].SelectSingleNode("re_num_1").Value);
    ht.Add(xmlNode[0].SelectSingleNode("re_num_2").Name, xmlNode[0].SelectSingleNode("re_num_2").Value);
      

  3.   

    当然可以。。System.Xml.XmlDocument xmldoc = new System.Xml.XmlDocument();
    xmldoc.Load("c:\\test.xml");
    System.Xml.XmlNodeList xmlNode = xmldoc.SelectNodes("languagePack/hot.aspx");
    Hashtable ht=new Hashtable();
    for (int i=0;i<xmlNode[0].ChildNodes.Count;i++)
        ht.Add(xmlNode[0].ChildNodes[i].Name, xmlNode[0].ChildNodes[i].Value);
      

  4.   

    XmlNodeList nl= xmldoc.SelectNodes("/languagePack/hot.aspx");for(int i=0;i<nl[0].ChildNodes.Count;i++)
    {
    XmlNode xn= nl[0].ChildNodes[i];
    string value=xn.Value;//读取节点值
    }
      

  5.   

    为什么NodeList(0).ChildNodes(i).Name的值可以读出来,而NodeList(0).ChildNodes(i).Value的值为NOTHING,我的代码如下        Dim language As New Hashtable
            Dim docXml As New XmlDocument
            docXml.Load("E:\website\gillage\language\language.xml")
            Dim NodeList As XmlNodeList = docXml.SelectNodes("/languagePack/hot.aspx")
            Dim i As Integer
            For i = 0 To NodeList(0).ChildNodes.Count - 1
                language.Add(NodeList(0).ChildNodes(i).Name, NodeList(0).ChildNodes(i).Value)
            Next
            Return language
      

  6.   

    For i = 0 To NodeList(0).ChildNodes.Count - 1
                language.Add(NodeList(0).ChildNodes(i).Name, NodeList(0).ChildNodes(i).InnerText)
            Next