nekohtml转换html时标签变大写的问题
生活随笔
收集整理的這篇文章主要介紹了
nekohtml转换html时标签变大写的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
nekohtml轉換html時標簽變大寫的問題 public static Document transferByNeko(InputStream stream, String charset){if (stream == null)return null;if(StringUtils.isEmpty(charset)){charset = DEFAULT_CHARSET;}//NEKOHTML的DOMParser會將html標簽轉化成大寫,是否設置下面的配置都沒有意義,解決辦法是需要使用xerces的DOMParser
// DOMParser domParser = new DOMParser();
// Document doc = null;
// ByteArrayOutputStream byteOs = null;
// Writer writer = null;
// InputSource inputSource = null;
// DocumentType documentType = null;
// org.w3c.dom.Document document = null;
// DOMReader domReader = null;
// try {
// domParser.setProperty("http://cyberneko.org/html/properties/names/elems", "lower");
// domParser.setProperty("http://cyberneko.org/html/properties/names/attrs", "lower");
// domParser.setProperty("http://cyberneko.org/html/properties/default-encoding", "UTF-8");
//
// domParser.setFeature("http://xml.org/sax/features/namespaces", false);
// domParser.setFeature("http://cyberneko.org/html/features/balance-tags", true);
// domParser.setFeature("http://cyberneko.org/html/features/scanner/script/strip-comment-delims", false);
//
// byteOs = new ByteArrayOutputStream();
// writer = new Writer(byteOs, charset);
// XMLDocumentFilter domFilter[] = {
// writer
// };
// domParser.setProperty("http://cyberneko.org/html/properties/filters", domFilter);
// inputSource = new InputSource(new InputStreamReader(stream, Charset.forName(charset)));
// domParser.parse(inputSource);
// document = domParser.getDocument();
// documentType = document.getDoctype();
// if (documentType != null)
// document.removeChild(documentType);
// domReader = new DOMReader();
// doc = domReader.read(document);
// } catch (SAXNotRecognizedException e) {
// e.printStackTrace();
// } catch (SAXNotSupportedException e) {
// e.printStackTrace();
// } catch (UnsupportedEncodingException e) {
// e.printStackTrace();
// } catch (SAXException e) {
// e.printStackTrace();
// } catch (IOException e) {
// e.printStackTrace();
// }finally{
// IOUtils.closeQuietly(byteOs);
// IOUtils.closeQuietly(stream);
// }//采用xerces的DOMParserDocument doc = null;DocumentType documentType = null;org.w3c.dom.Document document = null;DOMReader domReader = null;ByteArrayOutputStream byteOs = null;Writer writer = null;InputSource inputSource = null;try {HTMLConfiguration htmlConfiguration = new HTMLConfiguration();htmlConfiguration.setProperty("http://cyberneko.org/html/properties/names/elems","lower");org.apache.xerces.parsers.DOMParser parser = new org.apache.xerces.parsers.DOMParser(htmlConfiguration);inputSource = new InputSource(new InputStreamReader(stream, Charset.forName(charset)));parser.parse(inputSource);document = parser.getDocument();documentType = document.getDoctype();if (documentType != null)document.removeChild(documentType);domReader = new DOMReader();doc = domReader.read(document);} catch (SAXException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return doc;}
?
posted on 2018-03-23 08:23 夜隼 閱讀(...) 評論(...) 編輯 收藏轉載于:https://www.cnblogs.com/yesun/p/8628285.html
總結
以上是生活随笔為你收集整理的nekohtml转换html时标签变大写的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [vue] 删除数组用delete和Vu
- 下一篇: [css] 说说你对jpg、png、g