我怎样才能在Eclipse中使用srcML?

时间:2016-06-30 15:10:11

标签: java xml eclipse

Here,在srcMl的教程中,他们使用命令行中的命令将文件转换为xml文件。

我想创建一个带有c文件并将其转换为XML文件的Java程序

我应该使用哪些功能?

在上一个教程中,他们正在运行一些脚本命令,例如$ srcml rotate.cpp(将rotate.cpp转换为XML)。

我想要一个类似的Java函数来完成相同的工作,以便我可以在我的Java程序中使用它。

我找不到任何例子。有什么帮助吗?

我希望你理解我的问题。

提前致谢。

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,我发了一封电子邮件给SrcML的开发团队,他们给我发了一个演示

我已将其修改为适用于任何用户并在MS Windows 8.1上进行测试,此处为示例代码

public static void main(String args[])
{

    try
    { //this is the file which we want to get its xml representation
        String javaFileName = "C:\\Users\\Anosa\\Desktop\\tests\\BookController.java";
        //use ProcessBuilder class and give it the arguements
        ProcessBuilder processBuilder = new ProcessBuilder("srcml", javaFileName);
        //spicify the directory of [srcml.exe]
        processBuilder.directory(new File("C:\\Program Files (x86)\\srcML 0.9.5\\bin"));
        //create the process
        Process process = processBuilder.start();
        //let's read the output of this process[ie: the xml data]
        InputStream inputStream = process.getInputStream();
        int i;
        StringBuilder xmlData = new StringBuilder();
        while ((i = inputStream.read()) != -1)
        {
            xmlData.append((char) i);
        }
        System.out.println(xmlData.toString());
    } catch (IOException e)
    {
        System.out.println("ERROR: " + e.getMessage());
    }

}

我希望这对你很有趣