如:
<?xml version="1.0" encoding="UTF-8"?><SwInt:HandleRequest>     <SwInt:RequestHandle><Document xmlns='urn:swift:xsd:swift.if.ia$setr.004.001.02'>                   <setr.004.001.02>                       <MstrRef>                            <Ref>M060906000009</Ref>                       </MstrRef>         </setr.004.001.02> </Document>     </SwInt:RequestHandle></SwInt:HandleRequest>现在只要<document>...</document>这段xml
应该怎么做,请大家帮忙,急,谢谢

解决方案 »

  1.   

    public string getMiddle(string request, string key1, string key2)        {             return request.Substring(request.IndexOf(key1) + key1.Length, request.IndexOf(key2) - request.IndexOf(key1) - key1.Length);        }
    假如采取这样方法,我怎样获取key1,key2的值
      

  2.   

    自己写一个函数
    GetXml(int   star,   int   end)
    {
        XmlDocument   xmldoc   =   new   XmlDocument();   
      xmldoc.Load(@"c:\test.xml");   
      XmlNodeList   nodelist   =   xmldoc.GetElementsByTagName["Document"];   
      for(int   i=0;i<nodelist.Length-1;i++)   
      {   
            if   (Convert.ToInt32(nodelist[i].InnerText)   >=star   ||   Convert.ToInt32(nodelist[i].InnerText)<=end)   
                        ........................   
      }
    }调用的时候GetXml(0,0)
      

  3.   

    .......的部分用  doc.DocumentElement.RemoveChild(node);   
      

  4.   

    是节点的OuterXml就可以了:
    using System.Xml;
                string xmlpath = Server.MapPath("XMLFile1.xml");
                XmlDocument xmldoc = new XmlDocument();
                xmldoc.Load(xmlpath);
                XmlNode node = xmldoc.SelectSingleNode("//Document"); //从根开始任意的document节点.如果你确定xml只有一个Document节点,那么就可以用这个xpath.如果还有其他的Document节点,那么就要修改以下xpath
                string a=node.OuterXml;
                Response.Write("<script>alert('" + a + "')</script>");
      

  5.   

    <?xml version="1.0" encoding="UTF-8"?><SwInt:HandleRequest>     <SwInt:RequestHandle>         <SwInt:RequestDescriptor>              <SwInt:SwiftRequestRef></SwInt:SwiftRequestRef>              <SwInt:SwiftRef>swi00002-2007-10-10T11:49:02.22493.4933242Z</SwInt:SwiftRef>              <SwInt:NonRep>                   <SwInt:NRType>SVCMAND</SwInt:NRType>              </SwInt:NonRep>              <SwInt:ValidationDescriptor>                   <SwInt:ValResult>Success</SwInt:ValResult>              </SwInt:ValidationDescriptor>              <Sw:SnFOutputInfo>                   <Sw:SnFSessionId>csspbebb_generic!x:p:491380</Sw:SnFSessionId>                   <Sw:SnFOutputSeq>77</Sw:SnFOutputSeq>                   <Sw:DeliveryTime>2007-10-10T11:49:04Z</Sw:DeliveryTime>              </Sw:SnFOutputInfo>              <SwInt:MRRResult>                   <SwInt:SNLId>snl01540</SwInt:SNLId>                   <SwInt:SNLEP>mp_snfgmx</SwInt:SNLEP>              </SwInt:MRRResult>         </SwInt:RequestDescriptor>         <SwInt:RequestHeader>              <SwInt:Requestor>o=ptsahkmm,o=swift</SwInt:Requestor>              <SwInt:Responder>o=csspbebb,o=swift</SwInt:Responder>              <SwInt:Service>swift.if.ia!x</SwInt:Service>              <SwInt:RequestType>setr.004.001.02</SwInt:RequestType>              <SwInt:RequestRef>M060906000009</SwInt:RequestRef>         </SwInt:RequestHeader>         <SwInt:RequestPayload>              <AppHdr xmlns='urn:swift:xsd:$ahV10'>                   <MsgRef>M060906000009</MsgRef>                   <CrDate>2007-07-04T03:59:35.057+08:00</CrDate>              </AppHdr>              <Document xmlns='urn:swift:xsd:swift.if.ia$setr.004.001.02'>                   <setr.004.001.02>                       <MstrRef>                            <Ref>M060906000009</Ref>                       </MstrRef>                       <MltplOrdrDtls>                            <InvstmtAcctDtls>                                 <AcctId>                                     <Prtry>                                          <Id>21017124</Id>                                     </Prtry>                                 </AcctId>                            </InvstmtAcctDtls>                            <IndvOrdrDtls>                                 <OrdrRef>R060906000012</OrdrRef>                                 <FinInstrmDtls>                                     <Id>                                          <AltrnId>                                               <Id>210224</Id>                                               <PrtryIdSrc>nom.hsbc</PrtryIdSrc>                                          </AltrnId>                                     </Id>                                 </FinInstrmDtls>                                 <UnitsNb>                                     <Unit>12.000000</Unit>                                 </UnitsNb>                                 <PhysDlvryInd>false</PhysDlvryInd>                            </IndvOrdrDtls>                       </MltplOrdrDtls>                       <IntrmyDtls>                            <Id>                                 <PrtryId>                                     <Id>WC0321</Id>                                 </PrtryId>                            </Id>                            <Role>Advisor</Role>                       </IntrmyDtls>                       <Xtnsn>                            <PlcAndNm>Nominee Account Number</PlcAndNm>                            <Txt>060429001</Txt>                       </Xtnsn>                   </setr.004.001.02>              </Document>         </SwInt:RequestPayload>         <SwSec:Crypto>              <SwSec:CryptoInternal>                   <SwSec:CipherKey>g==</SwSec:CipherKey>                   <SwSec:CryptoProtocol>4.0:3.0</SwSec:CryptoProtocol>              </SwSec:CryptoInternal>              <SwSec:CryptoDescriptor>                   <SwSec:MemberRef>RequestPayload</SwSec:MemberRef>                   <SwSec:MemberRef>RequestHeader</SwSec:MemberRef>                   <SwSec:MemberRef>RequestDescriptor.SwiftRequestRef</SwSec:MemberRef>                   <SwSec:SignDN>cn=funds,o=ptsahkmm,o=swift</SwSec:SignDN>                   <SwSec:CertPolicyId>1.3.21.6.1</SwSec:CertPolicyId>              </SwSec:CryptoDescriptor>         </SwSec:Crypto>     </SwInt:RequestHandle></SwInt:HandleRequest> 
    以上是真实xml,我所要的内容就是<document>.....</document>他们之间所有的内容,能否采用下面方法从上面的xml中去截取<document>..</document>的值
     public string getMiddle(string request, string key1, string key2)        {             return request.Substring(request.IndexOf(key1) + key1.Length, request.IndexOf(key2) - request.IndexOf(key1) - key1.Length);        } 
      

  6.   

    从上面的xml中去截取 <document >.. </document >的值 
     那串xml实际上是从数据库中取出,他是一串字符串,情大家给予帮忙,谢谢~!
      

  7.   

    你用substring截取字符串也可以的.注意,看看你的起始位置和截止位置,长度是否计算的正确
      

  8.   

    你用substring截取字符串也可以的. 注意,看看你的起始位置和截止位置,长度是否计算的正确请问我怎么计算吗?谢谢~!
      

  9.   

    选取某一段Xml建议楼主看看xpath的资料
      

  10.   

    string xmlpath = Server.MapPath("XMLFile1.xml");
                XmlDocument xmldoc = new XmlDocument();
                xmldoc.Load(xmlpath);
                XmlNode node = xmldoc.SelectSingleNode("//Document"); //从根开始任意的document节点.如果你确定xml只有一个Document节点,那么就可以用这个xpath.如果还有其他的Document节点,那么就要修改以下xpath
                string a=node.OuterXml;
                Response.Write("<script>alert('" + a + "')</script>");使用上面的代码,node值为空
      

  11.   

    XmlNode node = xmldoc.SelectSingleNode("Document"); 
      

  12.   

    看看document节点有什么父节点, 写绝对节点路径试试. //根节点/一级父节点/二级父节点/../Document
      

  13.   

    sorry,我写的代码,测试的xml文件是,是没问题的.
    <?xml version="1.0" encoding="utf-8"  ?>
    <HandleRequest >
      <RequestHandle >
        <Document>
          <setr.004.001.02 >
            <MstrRef >
              <Ref >M060906000009 </Ref >
            </MstrRef >
          </setr.004.001.02 >
        </Document >
      </RequestHandle >
    </HandleRequest >是没有名空间的. 
    to:lz,
     传过是字符串而不是xml文件,你用substring截取也是对了. 我前面回复的只是提醒你可能出错的地方了.没别的意思,别误会
      

  14.   

    通过xpath找到document节点然后通过该xmlnode的xml属性就能得到预期值
      

  15.   

    string xmlpath = Server.MapPath("XMLFile1.xml"); 
                XmlDocument xmldoc = new XmlDocument(); 
                xmldoc.Load(xmlpath);             System.Xml.XmlNamespaceManager nameManage = new System.Xml.XmlNamespaceManager(xmldoc.NameTable);
                nameManage.AddNamespace("SwInt", "");            
                XmlNode node = xmldoc.SelectSingleNode("/HandleRequest/RequestHandle/RequestPayload/Document", nameManage);
                string a=node.OuterXml; 
                Response.Write(" <script >alert( '" + a + " ') </script >"); 
     
      

  16.   

    string dd=getMiddle(xmlvalue,@"</AppHdr > ",@"</SwInt:RequestPayload > ")请问整个◎是起什么作用,谢谢回答~!public string getMiddle(string request, string key1, string key2)         {               return request.Substring(request.IndexOf(key1) + key1.Length, request.IndexOf(key2) - request.IndexOf(key1) - key1.Length);         } 
      

  17.   

    取得节点,再调属性代码在IE,FF和.NET里各有不同
      

  18.   

    string dd=getMiddle(xmlvalue,@" </AppHdr  > ",@" </SwInt:RequestPayload  > ")请问整个◎是起什么作用,谢谢回答~! public string getMiddle(string request, string key1, string key2)          {                 return request.Substring(request.IndexOf(key1) + key1.Length, request.IndexOf(key2) - request.IndexOf(key1) - key1.Length);          }