2016-12-18 6 views
1

저는 XML에 대해 아직 익숙하지 않습니다. 제가 작업하고있는이 프로젝트에 문제가 있습니다. C# XmlDocument에서 특정 xml 요소를 추출해야합니다. 아래 예제에서 RATING 태그 (193.13이 결과 여야 함)에서 ns : AMOUNT 요소를 추출합니다. 어떻게이 일을 올바르게 할 수 있겠습니까? 정말 고마워!XmlDocument에서 XML 요소를 추출하십시오.

<?xml version="1.0" encoding="UTF-8" ?> 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soapenv:Body> 
     <ns:getResp xmlns:ns="http://example"> 
      <ns:jobReturn> 
       <ns:ITEM> 
        <ns:AMOUNT>24.7</ns:AMOUNT> 
       </ns:ITEM> 
       <ns:RATING> 
        <ns:RefNum>1234567890</ns:RefNum> 
        <ns:AMOUNT>193.13</ns:AMOUNT> 
       </ns:RATING> 
      </ns:jobReturn> 
     </ns:getResp> 
    </soapenv:Body> 
</soapenv:Envelope> 

답변

1

여러분의 문제는 ns 부분을 처리하기 위해 XmlNamespaceManager가 필요하다고 생각합니다. so

XmlDocument xmlDoc = new XmlDocument(); 
xmlDoc.Load(@"your.xml"); 
XmlNamespaceManager ns = new XmlNamespaceManager(xmlDoc.NameTable); 
ns.AddNamespace("ns", "http://example"); 
XmlNode node = xmlDoc.SelectSingleNode("//ns:RATING/ns:AMOUNT", ns); 
var result = node.InnerText;