我现在有个电子狗,我插上后登陆电子狗,然后通过自带getInfo方法获取到这个电子狗的相关信息但是它本身没有xml实体文件后台代码是这样一句话HaspStatus  status = Hasp.GetInfo(scope, format, vendorCode, ref info);然后最后的ref info是装着这个狗的信息的字符串,字符串里装的XML如下:
<?xml version="1.0" encoding="UTF-8" ?>
<hasp_info>
  <hasp id="1923425005" type="HASP-Hr">
    <feature id="0" />
    <feature id="1" />
  </hasp>
</hasp_info>
我现在想得到这里面的hsap节点里的ID那个一堆数字,我该怎么做呀?怎么能得到那个数字。本身没有XML实体

解决方案 »

  1.   


    Hashtable ht = new Hashtable();
                try
                {
                    XmlDocument doc = new XmlDocument();
                    doc.Load(_applicationConfigPath);//applicationConfigPath这个是你xml的路径
                    XmlElement root = doc.DocumentElement;
                    foreach (XmlNode node in root.ChildNodes)
                    {
                        if (node.Name.Equals("hasp_info"))
                        {
                            foreach (XmlNode cnode in node.ChildNodes)
                            {
                                ht.Add(cnode.Attributes["id"].Value, cnode.Attributes["HASP-Hr"].Value);
                            }
                            break;
                        }
                    }
                }
                catch { }
                return ht;这样你应该知道怎么获取了吧。
      

  2.   

    现在这就是个字符串里装的XML根本没实体路径啊,那地方我怎么放路径
      

  3.   

    加载怎么加载呀给个大概思路贝,也就是说能先把那字符串转存到XML里就能用您给的这个方法读到那串id里的数字对么?
      

  4.   

     doc.Load(_applicationConfigPath);//applicationConfigPath这个是你xml的路这个就是加载的方法,能保存成文件,还不能够加载吗?
      

  5.   

    不是说错了。我的意思是给个把这个字符串格式XML转换成XML文件的思路
      

  6.   


    保存为文件呀,使用File静态类或者StreamWriter都可以,具体可以查msdn