title: Getting System.Xml.XmlException: Name cannot begin with the ' ' character, hexadecimal value 0x20. Line 42, position 36
body: <p>I'm getting this error and all i've found so far is "remove the space", but there is no space. It is a script i found that will take a resume from any file format and extract the data (parse it) in order to put it into a SQL database...haven't gotten that far yet</p>
  
  <p>ASP.net Code:</p>
  
  <pre><code>&lt;%@ Page Language="C#" AutoEventWireup="true" CodeFile="ResumeParser.aspx.cs"       Inherits="CsharpSamCodeResumeParser_USAResume" Debug="true" ValidateRequest="false" %&gt;
  
  &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
  
  &lt;html xmlns="http://www.w3.org/1999/xhtml" &gt;
  &lt;head runat="server"&gt;
  &lt;title&gt;Untitled Page&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
  &lt;form id="form1" runat="server"&gt;
  &lt;div&gt;
      &lt;table style="width: 574px; height: 95px"&gt;
          &lt;tr&gt;
              &lt;td style="width: 507px"&gt;
                  Resume
                  URL&lt;/td&gt;
              &lt;td style="width: 737px"&gt;
                  &lt;asp:TextBox ID="TxtUrl" runat="server" Width="424px"&gt;&lt;/asp:TextBox&gt;
              &lt;/td&gt;
          &lt;/tr&gt;            
          &lt;tr&gt;
             &lt;td colspan="2" align="center"&gt;                  
                      &lt;asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Resume parser" /&gt;&lt;/td&gt;
              &lt;/tr&gt;
          &lt;/table&gt;
  
      &lt;table&gt;
          &lt;tr&gt;
              &lt;td style="width: 247px; height: 287px"&gt;
                  PARSING RESULTS&lt;/td&gt;
              &lt;td style="width: 568px; height: 287px"&gt;
                  &lt;asp:TextBox ID="TxtOutput" runat="server" Height="276px" TextMode="MultiLine" Width="565px"&gt;&lt;/asp:TextBox&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/table&gt;
  
  &lt;/div&gt;
  &lt;/form&gt;
  </code></pre>
  
  <p>
  </p>
  
  <p>C#:</p>
  
  <pre><code>public partial class CsharpSamCodeResumeParser_USAResume : System.Web.UI.Page
  {
  //////////Configuration Setting/////////////////// 
  string ServiceUrl = (string)ConfigurationSettings.AppSettings["webServiceUrl"];
  protected void Page_Load(object sender, EventArgs e)
  {
  
  }
  
  protected void Button1_Click(object sender, EventArgs e)
  {
      ///////////////////Variable Start///////////////
      string url = TxtUrl.Text;        
      StringBuilder  strRequest =new StringBuilder();
      string userkey = (string)ConfigurationSettings.AppSettings["userKey"];
      string version = (string)ConfigurationSettings.AppSettings["Version"];
      string countryKey=(string)ConfigurationSettings.AppSettings["CountryKey"];
      /////////////////Variable End///////////////////
  
  
      strRequest.Append("&lt;?xml version='1.0' encoding='utf-8'?&gt;");
      strRequest.Append("&lt;soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'&gt;");
      strRequest.Append("&lt;soap:Body&gt;");
      strRequest.Append("&lt;ParseResume xmlns='http://tempuri.org/'&gt;");
      strRequest.Append("&lt;url&gt;" + url + "&lt;/url&gt;");
      strRequest.Append("&lt;key&gt;" + userkey + "&lt;/key&gt;");
      strRequest.Append("&lt;version&gt;" + version + "&lt;/version&gt;");
      strRequest.Append("&lt;countryKey&gt;" + countryKey + "&lt;/countryKey&gt;");
      strRequest.Append("&lt;/ParseResume&gt;");
      strRequest.Append("&lt;/soap:Body&gt;");
      strRequest.Append("&lt;/soap:Envelope&gt;");
      ///////////////SOAP XML END///////////////////
  
  
      /////////////////XML PROCESSED//////////////////////
      byte[] byteArray = Encoding.ASCII.GetBytes(strRequest.ToString());
      HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(ServiceUrl);
      httpRequest.Credentials = CredentialCache.DefaultCredentials;
      httpRequest.Method = "POST";
      httpRequest.ContentType = "text/xml";
      httpRequest.ContentLength = byteArray.Length;
      Stream dataStream = httpRequest.GetRequestStream();
      dataStream.Write(byteArray, 0, byteArray.Length);
      dataStream.Close();
      /////////////////////PROCESS END////////////////
  
      //////////////////RESPONSE RECEIVED///////////////////////
      HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse();
      StreamReader streamReader = new StreamReader(httpResponse.GetResponseStream(), System.Text.Encoding.UTF8);
      string ack = string.Empty;
      //ack = streamReader.ReadToEnd().ToString();
      ////////////////////GET NODE VALUE FROM RESPONSE XML/////////////
      using (XmlReader reader = XmlReader.Create(streamReader))
      {
          while (reader.Read())
          {
  
              if (reader.NodeType == XmlNodeType.Element)
              {
  
                  for (int count = 1; count &lt;= reader.Depth; count++)
                  {
                      if (reader.Name == "ParseResumeResult")
                      {
                          ack = reader.ReadElementContentAsString();
                      }
  
                  }
  
              }
          }
  
          TxtOutput.Text = ack;
      }
      /////////////////API CALL PROCESS END///////////////////
  
  }
  
  }
  </code></pre>