2010-12-20 7 views
1
に置き換える/

をHTMLコードから、次のインラインCSSスタイルを削除する私は、以下のマスタリセットCSSが含まれているHTMLページを持っています。私はjavaの文字列としてhtmlコードを取得していますが、そこからjavaを使用しているCSSコードに続いて/ replace/commentを削除する必要があります。私は他のインラインCSSスタイルを除外する必要があります。私はStringUtilsクラスを使用しようとしましたが、動作しません。どのように私はjavaでこれを行うことができますか?どのようにJavaの

<style type="text/css"> 
    @charset "utf-8"; 
    /* CSS Document */ 
    /* Ver 1.0 Author*/ 
    /* master reset */ 
    a,abbr,acronym,address,applet,b,big,blockquote,body,button,caption,center,cite,code,dd,del,dfn, 
    dir,div,dl,dt,em,embed,fieldset,font,form,frame,h1,h2,h3,h4,h5,h6,hr,html,i,iframe,img,input, 
    ins,kbd,label,legend,li,menu,object,ol,option,p,pre,q,s,samp,select,small,span,strike,strong, 
    sub,sup,table,tbody,td,textarea,tfoot,th,thead,tr,tt,u,ul,var 
    {background:transparent;border:0;font-family:inherit;font-size:100%;font-style:inherit; 
    font-weight:inherit;margin:0;outline:0;padding:0;vertical-align:baseline;} 

    html {font-size:1em;overflow-y:scroll;} 
    body {background:white;color:black;line-height:1;} 

    a,ins {text-decoration:none;} 
    blockquote,q{quotes:none;quotes:"" "";} 
    blockquote:before,blockquote:after,q:before,q:after {content:"";content:none;} 
    caption,center,td,th {text-align:left;} 
    del {text-decoration:line-through;} 
    dir,menu,ol,ul {list-style:none;} 
    table {border-collapse:collapse;border-spacing:0;} 
    textarea {overflow-y:auto;} 
</style> 

答えて

3

これを行うには、JSoupなどのHTML解析ライブラリを使用することをおすすめします。

JSoupで

、あなたが特定の要素を選択することができselectorを使用して(自分のタグ名、IDなどに基づいて)。

Document doc = Jsoup.parse(html); 
Elements els = doc.select("style"); 
for(Element e: els){ 
    e.remove(); 
} 
:たとえば、すべての styleの要素を削除します