code: public static String elementText(Element parentElement) {
          if (parentElement == null) {
              return null;
          }
          StringBuilder result = new StringBuilder();
          NodeList childNodes = parentElement.getChildNodes();
          for (int i = 0; i < childNodes.getLength(); i++) {
              Node node = childNodes.item(i);
              if ((node == null) ||
                  (node.getNodeType() != Node.TEXT_NODE)) {
                  continue;
              }
              result.append(((Text) node).getData());
          }
          return result.toString().trim();
      }
docs: The contents of all Text nodes that are children of the given parentElement.
  The result is trim()-ed.
  <p/>
  The reason for this more complicated procedure instead of just returning the data of the firstChild is that
  when the text is Chinese characters then on Android each Characater is represented in the DOM as
  an individual Text node.
  
  @param parentElement
  @return