作者在最近的学校项目需求中,需要制作一个辅助漏洞代码检测的平台;目前的漏洞代码扫描比较主流的程序是Cpp-check,该工具会对漏洞代码进行扫描并产生一个扫描结果报告;但是项目得需要是需要能够展现漏洞代码的具体详情信息以及各种统计辅助图表。
首先考虑的sonarqube,但是该开源项目对于规则的开发以及解析稍微复杂一些,同时其功能模块较多,部分冗余的同时,较为笨重,因此笔者决定手写一个漏洞代码的一个解析和展示的平台。
第一步要解决的就是如何对Cpp-check产生的结果报告进行解析。其结果报告为一个XML文件,我们使用Java来做这件事,首先需要导入一个包。
<!--解析xml报文-->
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
以下为具体的测试代码
public static void main(String[] args) {
try {
SAXReader reader = new SAXReader();
Document document = reader.read(new File("路径"));
Element element = document.getRootElement();
System.out.println(element.getName());
}catch (Exception e){
}
}
@Test
void contextLoads() {
try {
SAXReader reader = new SAXReader();
Document document = reader.read(new File("路径"));
Element element = document.getRootElement();
Element errors = element.element("errors");
for (Iterator iter = errors.elementIterator(); iter.hasNext();){
Element cur = (Element)iter.next();
Attribute attribute = cur.attribute("id");
}
}catch (Exception e){
}
}
版权声明:本文为weixin_43933159原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。