title: How to get innertext in an XML
body: <p>I have the following XML file</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;Comprobante version="2.2" serie="A" folio="35207" fecha="2013-05-31T11:51:48"&gt;
   &lt;Emisor rfc="" nombre="E"&gt;
    &lt;DomicilioFiscal calle="" noExterior="" colonia="" /&gt;
    &lt;ExpedidoEn calle="" noExterior="" colonia="" /&gt;
    &lt;RegimenFiscal Regimen="Regimen" /&gt;
   &lt;/Emisor&gt;
  
   &lt;Receptor rfc="" nombre="Z"&gt;
    &lt;Domicilio calle="" noExterior="" colonia="" /&gt;
   &lt;/Receptor&gt;
  
   &lt;Conceptos cantidad="1.000" unidad="COMISION" descripcion="PENDIENTE" valorUnitario="28.50000" importe="28.50" /&gt;
  
   &lt;Impuestos totalImpuestosTrasladados="3.14"&gt;
    &lt;Traslados&gt;
     &lt;Traslado impuesto="IVA" tasa="11.00" importe="3.14" /&gt;
    &lt;/Traslados&gt;
   &lt;/Impuestos&gt;
  
   &lt;Addenda&gt;
    &lt;ener:EstadoDeCuentaCombustible xmlns:ener=""&gt;
     &lt;ener:cadenaOriginal&gt;||2.2|A|35207|2013-05-31T11:51:48|773463|2011|ingreso|Pago en una sola exhibicion|28.50|31.64|Tarjeta|Tijuana,Baja California|3213|ERE|E S.A. de C.V.|Prol|13351|Anexa e|Tijuana|Tijuana|Baja California|Mexico|22100|Prol|13351|Anexa e|Tijuana|Tijuana|Baja California|Mexico|22100|Regimen|XA|Z||||TIJUANA|TIJUANA|BAJA CALIFORNIA|Mexico||1.000|COMISION|PENDIENTE|28.50000|28.50|IVA|11.00|3.14|3.14||&lt;/ener:cadenaOriginal&gt;
     &lt;ener:idRefund&gt;98&lt;/ener:idRefund&gt;
    &lt;/ener:EstadoDeCuentaCombustible&gt;
   &lt;/Addenda&gt;
  &lt;/Comprobante&gt;
  </code></pre>
  
  <p>I need to get the text that is inside  (that long string)</p>
  
  <p>Here's how I start the c# code</p>
  
  <pre><code>XmlDocument doc = new XmlDocument();
  doc.Load("Route");
  
  XmlNamespaceManager xnm = new XmlNamespaceManager(doc.NameTable);
  
  xnm.AddNamespace("Documento", "http://www.sat.gob.mx/cfd/2");
  xnm.AddNamespace("ener", "http://www.enercard.com.mx/cfd");
  </code></pre>
  
  <p>I've tried various ways...</p>
  
  <pre><code>//strOriginalString = doc.DocumentElement.SelectSingleNode("//Documento:Addenda", xnm).FirstChild.SelectSingleNode("//ener:cadenaOriginal", xnm).InnerText;
  //strOriginalString = doc.DocumentElement.SelectSingleNode("//Documento:Addenda//ener:EstadoDeCuentaCombustible", xnm).FirstChild.SelectSingleNode("//ener:cadenaOriginal", xnm).InnerText;
  //strOriginalString = doc.DocumentElement.SelectSingleNode("//Documento:Addenda/Documento:cadenaOriginal", xnm).InnerXml;
  </code></pre>
  
  <p>this 3 ways always throw an exception...</p>
  
  <p>I found another way that doesn't throw an exception, but it doesn't get the string</p>
  
  <pre><code>XmlElement root = doc.DocumentElement;
  XmlNodeList nodes = root.SelectNodes("/Addenda/EstadoDeCuentaCombustible");
  strOriginalString = "";
  
  foreach (XmlNode node in nodes)
  {
      XmlNode child = node.SelectSingleNode("./cadenaOriginal");
  
      if (child != null)
      {
          strOriginalString = child.InnerText;
          break;
      }
  }
  </code></pre>
  
  <p>What am I doing wrong? or is there another way that I can get the string inside </p>