package com.ruanqian.html.read;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.swing.text.html.parser.TagElement;
import org.htmlparser.Node;
import org.htmlparser.Parser;
import org.htmlparser.nodes.TagNode;
import org.htmlparser.util.NodeList;
import org.htmlparser.util.ParserException;
public class cssgetread {
public static HashMap<String, String> cssgetread(String path) throws ParserException{
HashMap<String, String> csshashmap=new HashMap<String, String>();
Parser parser = new Parser (path);
NodeList list = parser.parse (null);
Node node = list.elementAt (0);
NodeList sublist = node.getChildren ();
NodeList childlist=sublist.elementAt(1).getChildren();
for(int i=0;i<childlist.size();i++){
if(childlist.elementAt(i).toHtml().toString().indexOf("<style")>=0){
csshashmap=cssget(childlist.elementAt(i).toHtml().toString());
}
}
return csshashmap;
}
/*
* 获取html文件中css样式的值;
* */
public static HashMap<String, String> cssget(String cssvalue){
String str=null;
String []css=null;
HashMap<String, String> cssmap=new HashMap<String, String>();
if(cssvalue.indexOf("<style")>=0){
if(cssvalue.indexOf(">")>=0){
cssvalue=cssvalue.substring(cssvalue.indexOf(">")+1,cssvalue.lastIndexOf("}")-1);
css=cssvalue.split("}");
}
}
for(int i=0;i<css.length;i++){
int a=css[i].indexOf("{");
String calssname=css[i].substring(0,a-1).trim();
String calssvalue=css[i].substring(a+1).trim();
cssmap.put(calssname, calssvalue);
}
return cssmap;
}
public static void main(String args[])
{
try {
String path ="E:/aa.html";
cssgetread(path);
} catch (ParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}