Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取HTML项目中使用的类和ID的列表_Html_Css_Netbeans - Fatal编程技术网

获取HTML项目中使用的类和ID的列表

获取HTML项目中使用的类和ID的列表,html,css,netbeans,Html,Css,Netbeans,是否可以获取HTML项目中使用的所有类/ID的列表 我正在处理的项目有18个HTML页面(公平地说是JSP),我想知道每个页面上使用了哪些类/ID 例如:具有类“div class”和id“div id”。我不想手动搜索每个页面并记下我找到的所有类/ID 有没有一个工具可以帮我做到这一点 我正在使用NetBeans 8.0.2作为IDE,因此,如果可以使用NetBeans实现这一点,那将是非常棒的 据我所知,Netbeans不支持此功能。我提供了一个java类文件,您可以运行它来获取这些信息 在

是否可以获取HTML项目中使用的所有类/ID的列表

我正在处理的项目有18个HTML页面(公平地说是JSP),我想知道每个页面上使用了哪些类/ID

例如:
具有类
“div class”
和id
“div id”
。我不想手动搜索每个页面并记下我找到的所有类/ID

有没有一个工具可以帮我做到这一点


我正在使用NetBeans 8.0.2作为IDE,因此,如果可以使用NetBeans实现这一点,那将是非常棒的

据我所知,Netbeans不支持此功能。我提供了一个java类文件,您可以运行它来获取这些信息

  • 在C目录中创建一个名为html的文件夹。将所有html/jsp文件放在html目录中。

  • 运行这个java类文件

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.nio.charset.Charset;
    import java.nio.file.DirectoryStream;
    import java.nio.file.Files;
    import java.nio.file.Path;
    import java.nio.file.Paths;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class HtmlIdsAndClasses {
    
        public static void main(String[] args) {
    
            String path = "C:\\html";
    
            scanFiles(path);
        }
    
        private static void scanFiles(String pathLocation) {
    
            try (DirectoryStream<Path> directoryStream = Files.newDirectoryStream(Paths.get(pathLocation))) {
                for (Path path : directoryStream) {
    
                    HtmlPageInfo pageInfo = new HtmlPageInfo();
                    List<String> classList = new ArrayList<String>();
                    List<String> idList = new ArrayList<String>();
                    pageInfo.setPageName(path.getFileName().toString());
                    pageInfo.setClassList(classList);
                    pageInfo.setIdList(idList);
                    getAllIds(path, pageInfo);
                    getAllClasses(path, pageInfo);
                    System.out.println(pageInfo);
                }
            } catch (IOException ex) {}
        }
    
        private static void getAllClasses(Path file, HtmlPageInfo pageInfo) {
    
            Pattern classPattern = Pattern.compile("class=\"([-A-Za-z_ ]*)\"");
            Charset charset = Charset.forName("UTF8");
            BufferedReader reader = null;
            try {
    
                reader = Files.newBufferedReader(file, charset);
                String line = null;
                while ((line = reader.readLine()) != null) {
    
                    Matcher classMatcher = classPattern.matcher(line);
                    while(classMatcher.find()) {
                        String classGroup = classMatcher.group(1);
                        for(String cls : classGroup.split(" ")) {
                            pageInfo.getClassList().add(cls);
                        }
                    }
                }
            } 
            catch (IOException x) {
                System.err.format("IOException: %s%n", x);
            }
            finally {
    
                if(reader != null) {
                    try {
                        reader.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    
        private static void getAllIds(Path file, HtmlPageInfo pageInfo) {
    
            Pattern idPattern = Pattern.compile("id=\"([-A-Za-z_]*)\"");
            Charset charset = Charset.forName("UTF8");
            BufferedReader reader = null;
            try {
    
                reader = Files.newBufferedReader(file, charset);
                String line = null;
                while ((line = reader.readLine()) != null) {
    
                    Matcher idMatcher = idPattern.matcher(line);
                    while(idMatcher.find()) {
                        String id = idMatcher.group(1);
                        pageInfo.getIdList().add(id);
                    }
                }
            } 
            catch (IOException x) {
                System.err.format("IOException: %s%n", x);
            }
            finally {
    
                if(reader != null) {
                    try {
                        reader.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }
    
    class HtmlPageInfo {
    
        private String pageName;
        private List<String> idList;
        private List<String> classList;
        public String getPageName() {
            return pageName;
        }
        public void setPageName(String pageName) {
            this.pageName = pageName;
        }
        public List<String> getIdList() {
            return idList;
        }
        public void setIdList(List<String> idList) {
            this.idList = idList;
        }
        public List<String> getClassList() {
            return classList;
        }
        public void setClassList(List<String> classList) {
            this.classList = classList;
        }
    
        @Override
        public String toString() {
    
            StringBuilder sb = new StringBuilder();
            sb.append("[Page - ");
            sb.append(pageName);
            sb.append("]");
            sb.append("\n\t[IDs - ");
            sb.append("(" + idList.size() + ")]\n\t\t");
            for(String id : idList) {
                sb.append(id + ",");
            }
            sb.append("\n\t[Classes ");
            sb.append("(" + classList.size() + ")]\n\t\t");
            for(String cls : classList) {
                sb.append(cls + ",");
            }
            sb.append("]\n\n");
    
            return sb.toString();
        }
    }
    
    导入java.io.BufferedReader;
    导入java.io.IOException;
    导入java.nio.charset.charset;
    导入java.nio.file.DirectoryStream;
    导入java.nio.file.Files;
    导入java.nio.file.Path;
    导入java.nio.file.path;
    导入java.util.ArrayList;
    导入java.util.List;
    导入java.util.regex.Matcher;
    导入java.util.regex.Pattern;
    公共类HtmlIdsAndClasses{
    公共静态void main(字符串[]args){
    String path=“C:\\html”;
    扫描文件(路径);
    }
    专用静态void扫描文件(字符串路径位置){
    try(DirectoryStream DirectoryStream=Files.newDirectoryStream(path.get(pathLocation))){
    for(路径:directoryStream){
    HtmlPageInfo=新的HtmlPageInfo();
    List classList=new ArrayList();
    List idList=new ArrayList();
    pageInfo.setPageName(path.getFileName().toString());
    pageInfo.setClassList(类列表);
    pageInfo.setIdList(idList);
    getAllID(路径、页面信息);
    GetAllClass(路径、页面信息);
    系统输出打印项次(页面信息);
    }
    }catch(IOException ex){}
    }
    私有静态void GetAllClass(路径文件,HtmlPageInfo pageInfo){
    Pattern classPattern=Pattern.compile(“class=\”([-A-Za-z\*)\”);
    Charset Charset=Charset.forName(“UTF8”);
    BufferedReader reader=null;
    试一试{
    reader=Files.newBuffereder(文件,字符集);
    字符串行=null;
    而((line=reader.readLine())!=null){
    Matcher classMatcher=classPattern.Matcher(行);
    while(classMatcher.find()){
    字符串classGroup=classMatcher.group(1);
    for(字符串cls:classGroup.split(“”){
    pageInfo.getClassList().add(cls);
    }
    }
    }
    } 
    捕获(IOX异常){
    系统错误格式(“IOException:%s%n”,x);
    }
    最后{
    if(读卡器!=null){
    试一试{
    reader.close();
    }捕获(IOE异常){
    e、 printStackTrace();
    }
    }
    }
    }
    私有静态void getAllIds(路径文件,HtmlPageInfo){
    Pattern idPattern=Pattern.compile(“id=\”([-A-Za-z\]*)\”);
    Charset Charset=Charset.forName(“UTF8”);
    BufferedReader reader=null;
    试一试{
    reader=Files.newBuffereder(文件,字符集);
    字符串行=null;
    而((line=reader.readLine())!=null){
    匹配器idMatcher=idPattern.Matcher(行);
    while(idMatcher.find()){
    String id=idMatcher.group(1);
    pageInfo.getIdList().add(id);
    }
    }
    } 
    捕获(IOX异常){
    系统错误格式(“IOException:%s%n”,x);
    }
    最后{
    if(读卡器!=null){
    试一试{
    reader.close();
    }捕获(IOE异常){
    e、 printStackTrace();
    }
    }
    }
    }
    }
    类HtmlPageInfo{
    私有字符串页面名;
    私人名单上的游手好闲者;
    私有列表类列表;
    公共字符串getPageName(){
    返回页面名;
    }
    public void setPageName(字符串pageName){
    this.pageName=页面名;
    }
    公共列表getIdList(){
    返回懒汉;
    }
    public void setIdList(列表idList){
    this.idList=idList;
    }
    公共列表getClassList(){
    返回类列表;
    }
    公共无效集合类列表(列表类列表){
    this.classList=classList;
    }
    @凌驾
    公共字符串toString(){
    StringBuilder sb=新的StringBuilder();
    sb.追加(“[第页-”);
    某人附加(页面名称);
    某人加上(“]”);
    sb.追加(“\n\t[id-”);
    sb.append(“+idList.size()+”)\n\t\t“;
    for(字符串id:idList){
    sb.追加(id+“,”);
    }
    sb.追加(“\n\t[类”);
    sb.append(“+classList.size()+”)\n\t\t“;
    for(字符串cls:classList){
    sb.追加(cls+“,”);
    }
    sb.追加(“]\n\n”);
    使某人返回字符串();
    }
    }
    
  • 您将在控制台中获得输出,如下图所示。


  • 编写一个java类,该类将扫描文件夹中的html/jsp页面,然后使用正则表达式标识id和类的模式。你可以得到ID和类的逐页列表。@AbhashUpadhyaya我从来没有这样做过,你能给我一个简单的例子吗?