common_helper/src/main/java/com/xiongyingqi/util/xml/XmlValidationModeDetector.java
private boolean hasOpeningTag(String content) {
        if (this.inComment) {
            return false;
        }
        int openTagIndex = content.indexOf('<');
        return (openTagIndex > -1 && content.length() > openTagIndex && Character.isLetter(content.charAt(openTagIndex + 1)));
    }
private boolean hasOpeningTag(String content) {
        if (this.inComment) {
            return false;
        }
        int openTagIndex = content.indexOf('<');
        return (openTagIndex > -1 && content.length() > openTagIndex && Character.isLetter(content.charAt(openTagIndex + 1)));
    }
Does the supplied content contain an XML opening tag. If the parse state is currently
in an XML comment then this method always returns false. It is expected that all comment
tokens will have consumed for the supplied content before passing the remainder to this method.