我正在尝试从cppcheck的输出中解析XML数据。但是XML结构似乎是错误的。
cppcheck src --enable=warning,style,unusedFunction --xml --inconclusive --std=posix --std=c++11 2> error_s.xml
cppcheck XML输出:
<?xml version="1.0" encoding="UTF-8"?>
<results version="2">
<cppcheck version="1.82"/>
<errors>
<error id="funcArgNamesDifferent" severity="style" msg="Blah Blah bLah." verbose="Blah Blah Verbose" cwe="628" inconclusive="true">
<location file="src/DataLayer/ABC.cpp" line="329"/>
<location file0="src/DataLayer/ABC.cpp" file="src/DataLayer/ABC.h" line="64"/>
<location file0="src/DataLayer/ABC.cpp" file="src/DataLayer/ABC.h" line="64"/>
<location file0="src/DataLayer/ABC.cpp" file="src/DataLayer/ABC.h" line="64"/>
</error>
</errors>
</results>
location
节点是否应该位于locations
之类的数组中?
<locations>
<location file="src/DataLayer/ABC.cpp" line="329"/>
<location file0="src/DataLayer/ABC.cpp" file="src/DataLayer/ABC.h" line="64"/>
</locations>
答案 0 :(得分:0)
不幸的是,如果不写太多if语句就无法访问它。
if(isset($location)){
}
Conversation with CppChecker Developer..希望它们在发布v3时会得到解决
目前,唯一的访问方法是使用太多的if语句。
如果没有,那么还有htmlreport库将生成html页面。