cppcheck 生成错误的 xml 结构

cppcheck generates wrong xml structure

我正在尝试从 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>

不幸的是,如果不写太多 if 语句就无法访问它..

if(isset($location)){

}

Conversation with CppChecker Developer.. 希望当他们发布 v3 时它会得到修复

目前,唯一的访问方式是使用过多的 if 语句。

如果没有,还有库 htmlreport 将生成 html 页..