2016-06-08 4 views
0

ODE (.txt), 변수 (.txt), 변수 (.txt) 파일을 만드는 게시 된 실행 파일 .jar 파일 (http://www.comp.nus.edu.sg/~rpsysbio/pada)을 사용하여 Eclipse의 COPASI 작성 XML 파일에서 매개 변수 데이터를 추출하려고합니다. csv) 및 매개 변수 (.csv). 제공된 예제 XML 파일에서 작동하지만 자체 데이터를 사용하면 빈 .csv 파일 (열 머리글이 인쇄 됨)이 만들어집니다. 오류가 표시되지 않으며 ODE 및 변수 파일이 올바르게 기록됩니다.XML 파일에서 매개 변수 데이터 추출

void printPar(String outdir){ 
try{ 
    FileOutputStream outfile=new FileOutputStream(outdir+"./par.csv"); 
    PrintWriter out=new PrintWriter(outfile); 
    // header 
    out.println("NAME,INIT,LowerBound,UpperBound,BoundNum,BoundSize"); 
    for (int i=0;i<model.getNumParameters();i++){ 
    Parameter p=model.getParameter(i); 
    //out.println(convert(p.getId())+","+p.getValue()+",,,"); 
    double x=p.getValue(); 
    if(x<1) 
     out.println(convert(p.getId())+","+p.getValue()+",0,1,5"); 
    else if(x<100) 
     out.println(convert(p.getId())+","+p.getValue()+",0,100,5"); 
    else 
     out.println(convert(p.getId())+","+p.getValue()+",0,10000,5"); 
    } 

    out.flush(); 
} catch(IOException e){ 
    e.printStackTrace(); 
} 
} 

나는 예를 들어 내 자신의 XML 파일 사이에 볼 수있는 유일한 차이점은 예에서 매개 변수가 너무 같은 반응에서 별도로 나와 있습니다 파일이다 :

이 매개 변수의 데이터를 추출하는 데 사용되는 코드입니다
<listOfParameters> 
     <parameter id="parameter_1" name="k1" value="0.1" /> 
     <parameter id="parameter_2" name="k2" value="0.1" /> 
     <parameter id="parameter_3" name="k3" value="0.3" /> 
    </listOfParameters> 

내 파일의 매개 변수는 각 반응의 예를 나열 반면 :

</reaction> 
... 
     <listOfParameters> 
     <parameter id="k1" name="k1" value="0.0008"/> 
     <parameter id="k2" name="k2" value="1.05e-06"/> 
     </listOfParameters> 
    </kineticLaw> 
    </reaction> 

사람이 고정에 관한 어떤 제안이 있습니까?

감사합니다.

+0

나는 testng.xml을 프로그래밍 방식으로 읽습니다. 어쩌면 같은 시나리오가있어 .http : //stackoverflow.com/questions/35700078/how-to-run-testng-tests-pointed-to-a-jar – gihan

답변

0

xml 파일의 구조가 다른 경우 다른 XPath 표현식을 사용하여 데이터를 추출해야합니다.

는 예를 들어 당신이 /listOfParameters를 사용해야합니다 파일을 처리하려면,하지만 XML을 위해 당신은 다음 구축해야 당신이의 XPath expresion을 변경할 수없는 경우 /반응/kineticLaw/listOfParameters

를 사용할 필요가 동일한 xml.