2017-01-18 1 views
0

Ich möchte vollständige HTML Throgh Zeichenfolge eingeben und dann überprüfen, ob der angegebene Stich eine gültige HTML ist oder nicht.Gültigkeit von html

öffentlicher booleanisValidHTML (String Htmldata)

Beschreibung-überprüft, ob ein bestimmtes HTML-Daten ist ein gültiges Datum HTML oder nicht

htmlData- Ein HTML-Dokument in Form von Zeichenfolge, die TAGS und Daten enthalten.

returns-true, wenn die angegebenen htmlData alle gültigen Tags mit ihren erlaubten Attributen und ihren möglichen Werten enthalten, sonst false. Ein gültiger HTML:

<html> 
    <head> 
     <title>Page Title</title> 
    </head> 
<body> 
    <table style="width:100%"> 
    <tr> 
      <td>Jill</td> 
      <td>Smith</td> 
      <td>50</td> 
    </tr> 
    <tr> 
      <td>Eve</td> 
      <td>Jackson</td> 
      <td>94</td> 
    </tr> 
    </table> 
    <b>This text is bold</b> 
    </body> 
    </html> 


    The java code should look like 

class htmlValidator{ 
public static void main(String args[]){ 
Scanner in =new Scanner(System.in); 
String html=new String("pass the html here''); 
    isValidHtml(html) 
    } 
     public static boolean isValidHtml(String html){ 
     /** write code here**/ 
     /** method returns true if the given html is valid ** 
     //**please help**/ 
     } 

}

+1

einen DOM-Parser verwenden. – Mordechai

+2

möglich duplizieren: http: //stackoverflow.com/questions/4392505/how-to-validate-html-from-java –

+0

Wenn Sie Ihre eigenen Regeln für das, was Sie als gültige HTML akzeptieren möchten, müssen Sie nicht nur sein Ein Experte dort, Sie müssen auch ein Buch über das Schreiben von Parsern lesen, das ist vielleicht die größere Herausforderung. Sie werden eine Menge lernen, die zu anderen Zeiten nützlich sein könnte, aber so glücklich zu studieren. –

Antwort

2

Anstatt regex schreiben zu analysieren und überprüfen (which is generally A Bad Idea), du bist besser dran, so etwas wie jsoup Verwendung zu analysieren und auf Fehler überprüfen.

Von https://jsoup.org/cookbook/input/parse-document-from-string:

String html = "<html><head><title>First parse</title></head>" 
    + "<body><p>Parsed HTML into a doc.</p></body></html>"; 
Document doc = Jsoup.parse(html); 
+1

Ich denke, Sie haben das falsche [link] (http://stackoverflow.com/a/1732454/1553851) dort. – shmosel

+0

Ich möchte dies meine eigene definierte Methode nicht eine vordefinierte durchführen. –

+0

@shmossel Darn, mein hinterhältiger Schnitt war nicht gerade hinterhältig genug! – Archmage

Verwandte Themen