这样去获取试试:doc.DocumentElement.SelectSingleNode(...)

解决方案 »

  1.   

    XmlNode node1 = doc.DocumentElement.SelectSingleNode("SOAP-ENV:Header/TransactionID")这样选择节点试试!我很少加后面那个参数,不太明白呀!
      

  2.   

    回复m777:
    不行,因为SOAP-ENV是有命名空间前缀的,不加命名空间提示错误:(
      

  3.   

    /// <summary>
    /// 解析收到的Http响应,将body分解出来
    /// </summary>
    /// <param name="xmlMessage">收到的响应</param>
    /// <param name="xmlMessageContent">Xml Body</param>
    private void ParseContent(string xmlMessage,out string xmlMessageContent)
    {
    xmlMessageContent=xmlMessage.Substring(xmlMessage.IndexOf("<?")).Trim(); //Body //parse xml
    byte[] byteSource=Encoding.GetEncoding("utf-8").GetBytes(xmlMessageContent);
    MemoryStream ms =new MemoryStream(byteSource);
    XmlTextReader reader=new XmlTextReader(ms);
    string  parseLog=null;
    while(!reader.EOF)
    {
    if(reader.MoveToContent()==XmlNodeType.Element)
    {
            
    parseLog+=("\r\n\t"+reader.Name+":"+ReadValue(reader));
                                               //处理关键字
    }
    else
    {
    reader.Read();
    } }
    Logs.writeLog(parseLog);

    reader.Close();
    ms.Close();


    }
      

  4.   

    nsmgr.LookupNamespace("http://www.monternet.com/dsmp/schemas")
      

  5.   

    1、
    nsmgr.AddNamespace("SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope");
    nsmgr.AddNamespace("SOAP-ENC", "http://schemas.xmlsoap.org/soap/encoding");上面的命名空间与你XML文件全不一样,都在最后少了一个"/"
    应该是:http://schemas.xmlsoap.org/soap/envelope/ 
            http://schemas.xmlsoap.org/soap/encoding/2、nsmgr.AddNamespace(String.Empty,"http://www.monternet.com/dsmp/schemas");
       不能使用String.Empty:
    --------------
    try:XmlNamespaceManager ns = new XmlNamespaceManager(doc.NameTable);
    ns.AddNamespace("SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/");
    ns.AddNamespace("SOAP-ENC", "http://schemas.xmlsoap.org/soap/encoding/");
    //注意下面的不同
    ns.AddNamespace("xx","http://www.monternet.com/dsmp/schemas/");XmlNode node=doc.SelectSingleNode("SOAP-ENV:Envelope/SOAP-ENV:Header/xx:TransactionID",ns);
      

  6.   

    感谢BearRui(孤熊 | 带你去看海!),通过了!