2011-12-19 2 views
0

내 문제는, XML 파일에서 복사 작업에 대한 원본 경로를 읽고 그 dir에있는 모든 파일을 XML 파일에서 다른 디렉토리로 복사해야합니다.절대 경로에서 ant 복사 XML에서

코드는 말보다 더이기 때문에 :

<xmltask source="${projectfile}"> 
    <copy path="Project/RecentResultsInfo/ResultsDirectoryOfRecentLoadTest/text()" property="recentdir" attrValue="true"/> 
</xmltask> 
<copy todir="${targetdirectory}"> 
    <fileset dir="${recentdir}"/> 
</copy> 

출력이 목표를 실행 : C : \ \ build.xml로 개발 : 44 : 경고 : 리소스 파일 "C를 찾을 수 없습니다 : \ 개발 \ C : \ Program \ tool \ test_90 \ "에 복사하십시오.

파일 세트에서 인식 할 수없는 것 같습니다. recentdir 안에는 전체 경로가 들어 있습니다. 응용 프로그램에서 작성된 XML에는 경로로 읽은 xml 파일의 경로 앞뒤에 개행 문자가 있습니다. 그래서 개미는 그 앞에 개행 문자가 있기 때문에 그 경로를 인식하지 못합니다.

개미의 트림과 같은 것이 있습니까?

누구나 그 경로를 받아들이도록 개미를 구할 수 있습니까?

답변

1

Ant-Contrib를 사용하여 지금 완료했지만 어쨌든이 프로젝트에서 사용됩니다.

<xmltask source="${projectfile}"> 
    <copy path="Project/RecentResultsInfo/ResultsDirectoryOfRecentLoadTest/text()" property="recentdirraw" attrValue="true"/> 
</xmltask> 
<!-- replace newlines and whitespace from read path --> 
<propertyregex property="recentdir" input="${recentdirraw}" regexp="^[ \t\n]+|[ \t\n]+$" replace="" casesensitive="false" /> 
<copy todir="${targetdirectory}"> 
    <fileset dir="${recentdir}"/> 
</copy> 

공백과 줄 바꿈으로 텍스트를 트리밍하는 정규식으로 속성을 간단히 수정하십시오.

1

지금까지 보았 듯이 xmltask의 copy 요소는 trim 속성을 제공합니다.

작동합니까?

관련 문제