4

私はJavaでJtidyパーサーを使用しています。

URL url = new URL("www.yahoo.com"); 
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
InputStream in = conn.getInputStream(); 
doc = new Tidy().parseDOM(in, null);

これを実行すると、「doc = new Tidy()。parseDOM(in、null);」次のような警告が表示されます。

Tidy (vers 4th August 2000) Parsing "InputStream"
line 140 column 5 - Warning: <table> lacks "summary" attribute

InputStream: Doctype given is "-//W3C//DTD XHTML 1.0 Strict//EN"
InputStream: Document content looks like HTML 4.01 Transitional

1 warnings/errors were found!

これらの警告は、コンソールに自動的に表示されます。ただし、実行後にこれらの警告がコンソールに表示されないようにする必要があります

doc = new Tidy().parseDOM(in, null);

これを行う方法、コンソールからこれらの警告を削除する方法を教えてください。

4

5 に答える 5

11

ドキュメントを見て、私はあなたが望むことをするかもしれないいくつかの方法を見つけました。

setShowErrors、、がsetQuietありsetErroutます。次のことを試してみてください。

Tidy tidy = new Tidy();
tidy.setShowErrors(0);
tidy.setQuiet(true);
tidy.setErrout(null);
doc = tidy.parseDOM(in, null);

それらの1つはすでに十分かもしれません、これらは私が見つけたすべてのオプションでした。これは単にメッセージを非表示にし、メッセージについては何もしないことに注意してください。setForceOutputエラーが発生した場合でも、出力を取得することもできます。

于 2011-06-02T11:28:37.423 に答える
5

JTidyの警告を(たとえば)log4jロガーにリダイレクトする場合は、このブログエントリをお読みください。

(他のコンソール出力と一緒に)単にそれらを削除したい場合は、System.setOut()および/またはSystem.setErr()出力をファイル...またはブラックホールに送信するために使用します。

JTidyリリース8(またはそれ以降)の場合、このTidy.setMessageListener(TidyMessageListener)メソッドはメッセージをより適切に処理します。


または、にバグレポートを送信することもできますwebmaster@yahoo.com。:-)

于 2011-06-02T11:25:22.637 に答える
3
Writer out = new NullWriter();
PrintWriter dummyOut = new PrintWriter(out);
tidy.setErrout(dummyOut);
于 2012-02-14T21:05:40.990 に答える
2

ドキュメントを見ると、この特定のケースでは少し良いと思われる別の方法が見つかりましたsetShowWarnings(boolean)。このメソッドは警告を非表示にしますが、エラーは引き続きスローされます。

詳細については、こちらをご覧ください:http: //www.docjar.com/docs/api/org/w3c/tidy/Tidy.html#setShowWarnings (boolean )

于 2011-06-30T21:03:03.283 に答える
0

Joostの回答に基づくと、これが最も優れたソリューションだと思います。

Tidy tidy = new Tidy();
tidy.setShowErrors(0);
tidy.setShowWarnings(false);
tidy.setQuiet(true);

3つすべてが必要です。

于 2014-12-21T14:44:02.590 に答える