2017-06-15 5 views
0

私はサーバーからXMLファイルを取得しようとしていますが、日付を調べて自分の日付の値がxmlの日付値。 xmlファイルが解析された後に何をすべきかわからないため、ちょっと立ち往生しています。 xmlファイルとスクリプトのための私のコードは以下の通りです。groovyを使用するXMLファイルのタグまたはノードを分析する必要があります

XMLファイル:

<holidays> 
    <holiday type="fixed" name="New year's day" date="01/Jan" 
    duration_seconds="1d"/> 
    <holiday type="fixed" name="Christmas day" date="25/Dec" 
    duration_seconds="1d"/> 
    <holiday type="fixed" name="Boxing day" date="26/Dec" 
    duration_seconds="1d"/> 
    <holiday type="floating" name="Family Day" date="20/Feb/17" 
    duration_seconds="1d"/> 
    <holiday type="floating" name="Good Friday" date="14/Apr/17" 
    duration_seconds="1d"/> 
    <holiday type="floating" name="CENGN Easter day off (only in 2017)" 
    date="17/Apr/17" duration_seconds="1d"/> 
    <holiday type="floating" name="Victoria Day" date="22/May/17" 
    duration_seconds="1d"/> 
    <holiday type="floating" name="Canada day" date="03/Jul/17" 
    duration_seconds="1d"/> 
    <holiday type="floating" name="Civic Holiday" date="07/Aug/17" 
    duration_seconds="1d"/> 
    <holiday type="floating" name="Labor day" date="04/Sep/17" 
    duration_seconds="1d"/> 
    <holiday type="floating" name="Thanksgiving day" date="09/Oct/17" 
    duration_seconds="1d"/> 
    </holidays> 

そして、これは私が使用しようとしていますスクリプトです。

import com.onresolve.scriptrunner.runner.ScriptRunnerImpl; 
    import com.onresolve.scriptrunner.runner.customisers.PluginModule; 
    import com.onresolve.scriptrunner.runner.customisers.WithPlugin; 
    import com.atlassian.jira.issue.CustomFieldManager; 
    import com.atlassian.jira.issue.fields.CustomField; 
    import com.atlassian.jira.ComponentManager 
    import com.atlassian.jira.issue.IssueManager; 
    import com.atlassian.jira.issue.Issue; 
    import com.atlassian.jira.issue.MutableIssue; 
    import com.atlassian.jira.issue.customfields.manager.OptionsManager 
    import com.onresolve.scriptrunner.runner.ScriptRunnerImpl 
    import com.onresolve.scriptrunner.runner.customisers.PluginModule 
    import com.onresolve.scriptrunner.runner.customisers.WithPlugin 
    import java.lang.Object 
    import com.atlassian.jira.issue.worklog.WorklogImpl2 
    import java.text.SimpleDateFormat 
    import com.atlassian.crowd.embedded.api.User 
    import com.atlassian.jira.component.ComponentAccessor 
    import com.atlassian.jira.issue.worklog.DefaultWorklogManager 
    import com.atlassian.jira.security.roles.ProjectRoleManager 
    import com.atlassian.jira.issue.worklog.Worklog 
    import com.atlassian.jira.datetime.LocalDate 
    import org.apache.commons.lang.RandomStringUtils 
    import groovy.xml.MarkupBuilder 
    import groovy.util.* 
    import groovy.xml.MarkupBuilder 

    def componentManager = ComponentManager.getInstance() 
    def customFieldManager = ComponentAccessor.getCustomFieldManager() 
    def cfend = customFieldManager.getCustomFieldObjectByName("End Date") 
    def cfstart = customFieldManager.getCustomFieldObjectByName("Start 
    Date") 
    def cfdays = customFieldManager.getCustomFieldObjectByName("Used 
    vacation days") 
    def reporter = issue.reporter.name 
    def worklogManager = ComponentAccessor.getWorklogManager(); 

    String f = new File('/var/atlassian/application- 
    data/jira_7.3.1/import/holidays.xml') 
    def list = new XmlParser().parse(f) 

    def xml = new XmlSlurper().parse(f) 

    //NEED HELP AFTER THIS LINE ******************************** 

    def holiday = xml.depthFirst().findAll {it.holiday} 
    xml.holiday.date() == 2 

    def d =((issue.getCustomFieldValue(cfstart) as Date) + i).getDate() 
    def m = ((issue.getCustomFieldValue(cfstart) as Date) + i).getMonth() 

    return 0; 

これはちょうど私のスクリプトの一部であるとxmlファイルから日付を取得し、発行日と発行月と比較する良い方法がある場合、私は疑問に思って。私は鉱山に似たXMLファイルの例を探すのに手間がかかります

+0

xmlと比較したいスクリプトの予定日はどこですか? XMLから実際の日付を任意のタグに入れることはできますか? – Rao

+0

ありがとう、私はちょうどあなたのコメントを知っていた。私はactullyそれをちょうど解決した。このページでスクリプトを見ることができます。 https://stackoverflow.com/questions/44573965/not-reading-the-xml-nodes-properly/44574836#44574836 – Andrew

+0

[XMLノードを正しく読んでいない](https://stackoverflow.com/questions/)の可能な複製44573965/not-reading-the-xml-nodes-properly) – doelleri

答えて

関連する問題