2017-02-22 16 views
0

에 따라 변환 : 나는 Trigger2에 대한 <cron-expression> 값을 변환 할적용 XDT이 XML 설정 파일을 감안할 때 형제 요소 값

<job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData" version="2.0"> 
    <schedule> 
    <trigger> 
     <cron> 
     <name>Trigger1</name> 
     <cron-expression>0 0 1 * * ?</cron-expression> 
     </cron> 
    </trigger> 
    <trigger> 
     <cron> 
     <name>Trigger2</name> 
     <cron-expression>0 0 2 * * ?</cron-expression> 
     </cron> 
    </trigger> 
    </schedule> 
</job-scheduling-data> 

.

이 변환을 사용 : 프로젝트 빌드

<job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData" xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <schedule> 
    <trigger> 
     <cron> 
     <name>Trigger2</name> 
     <cron-expression 
      xdt:Transform="Replace" 
      xdt:Locator="XPath(/job-scheduling-data/schedule/trigger/cron[name='Trigger2'])">0 0 3 * * ?</cron-expression> 
     </cron> 
    </trigger> 
    </schedule> 
</job-scheduling-data> 

가, 내가 볼 컴파일러 경고 :

원본 문서의 어떤 요소는 '/ 작업 스케줄링 데이터/일정/트리거와 일치하지 않습니다/cron [name = 'Trigger2'] '.

XPath 쿼리가 올바르지 만 규칙이 적용되지 않습니다 (따라서 컴파일러 경고).

나의 프로젝트는 내가 뭔가 잘못하고 있는가 2015 년

Visual Studio에서 TransformXml 작업을 사용하여 빌드 변환하도록 구성되어?

답변

0

@PingCrosby answer 다른 질문은 문제를 해결하는 데 도움이됩니다. 해결책은 다음과 같습니다.

<job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData" xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <schedule> 
    <trigger> 
     <cron xdt:Locator="XPath(//*[local-name()='job-scheduling-data'] 
           /*[local-name()='schedule'] 
           /*[local-name()='trigger'] 
           /*[local-name()='cron'] 
            [*[local-name() = 'name'] = 'Trigger2'])"> 
     <cron-expression xdt:Transform="Replace">0 0 3 * * ?</cron-expression> 
     </cron> 
    </trigger> 
    </schedule> 
</job-scheduling-data>