title: XML File node attribute not parsed when it has special Character
body: <p>XML file cant able to parse when it contains <code>"&amp;&amp;"</code> in node's attribute value.</p>
  
  <p><strong>XML file :</strong></p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8" ?&gt;
  &lt;test version="0.0.3" &gt;
      &lt;SFTP ipaddress="12.12.12.12" port="22" uname="abc" pwd="abc&amp;&amp;" path="/testdev" /&gt;
  &lt;/test&gt;
  </code></pre>
  
  <p>when is used <strong>pwd="abc&amp;&amp;"</strong> at that time it gives me error like this, If i will not used special characters than its working fine.</p>
  
  <p><strong>Error :</strong> </p>
  
  <pre><code>At line 3, column 62: not well-formed (invalid token)
      org.apache.harmony.xml.ExpatParser$ParseException: At line 3, column 62: not well-formed (invalid token)
      at org.apache.harmony.xml.ExpatParser.parseFragment(ExpatParser.java:515)
      at org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:474)
      at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:321)
      at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:279)
      at com.test.bl.ConfigurationParser.parseFile(ConfigurationParser.java:61)
      at com.test.ui.LoginActivity$ConfigurationXMLParseOperation.doInBackground(LoginActivity.java:209)
      at com.test.ui.LoginActivity$ConfigurationXMLParseOperation.doInBackground(LoginActivity.java:1)
      at android.os.AsyncTask$2.call(AsyncTask.java:287)
      at java.util.concurrent.FutureTask.run(FutureTask.java:234)
      at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
      at java.lang.Thread.run(Thread.java:856)
  </code></pre>
  
  <p><strong>Code :</strong></p>
  
  <pre><code>public void parseFile(final InputStream inputStream) throws ParserConfigurationException,
          SAXException, IOException {
      try {
          final SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
          final SAXParser saxParser = saxParserFactory.newSAXParser();
          final XMLReader xmlReader = saxParser.getXMLReader();
          xmlReader.setContentHandler(this);
          xmlReader.parse(new InputSource(inputStream));
      } catch (ParserConfigurationException e) {
          Logger.e(TAG, e.getMessage(), e);
      } catch (SAXException e) {
          Logger.e(TAG, e.getMessage(), e);
      } catch (IOException e) {
          Logger.e(TAG, e.getMessage(), e);
      }
  }
  
  
  @Override
  public void startElement(final String uri, final String localName, final String qName,
          final Attributes attributes) throws SAXException {
      mElementStart = true;
      if (localName.equals(null)) {
          Logger.i(TAG, "Devices xml file is empty");
      }
      tempValue = "";
      if (localName.equalsIgnoreCase(mSFTPParseNodeString)) {
          sftpConfiguration = new SFTPConfiguration();
  
          sftpConfiguration.mSftpIp = attributes.getValue(mSFTPIpParseNodeString);
  
          sftpConfiguration.mRemotePath = attributes.getValue(mSFTPPathParseNodeString);
  
          sftpConfiguration.mSftpPort = Integer.parseInt(attributes
                  .getValue(mSFTPPortParseNodeString));
  
          sftpConfiguration.mUserName = attributes.getValue(mSFTPUserNameParseNodeString);
  
          sftpConfiguration.mUserPassword = attributes.getValue(mSFTPPasswordParseNodeString);
      }
  
  }
  </code></pre>
  
  <p>Please help me and give me solution how can i parse this value and use in my code.</p>
  
  <p>Thanks</p>