グルーヴィーなスクリプトを使用してParseTextとXMLで値を置き換えます

ベルAimsaard:

私はparseTextとXMLの値を更新します。

これは私のXMLであります

def xmlText  = '''<BookRoot>
    <Book>
        <startDate>2005-02-14T00:00:00.000</startDate>
        <endDate>2015-01-31T00:00:00.000</endDate>
        <Author>Manu</Author>
    </Book>
    <Book>
        <startDate>2005-02-01T00:00:00.000</startDate>
        <endDate>9999-12-31T00:00:00.000</endDate>
        <Author>Liverpool</Author>
    </Book>
</BookRoot>'''

def xml = new XmlSlurper().parseText(xmlText);

これは、予想される結果です。

<BookRoot>
    <Book>
        <startDate>CurrentDate</startDate>
        <endDate>FutureDate</endDate>
        <Author>Manu</Author>
    </Book>
    <Book>
        <startDate>CurrentDate</startDate>
        <endDate>FutureDate</endDate>
        <Author>Liverpool</Author>
    </Book>
</BookRoot>

私はこのコードを使用してみました

xml.Book.each{ it->
    it.startDate[0].value = 'CurrentDate'
    it.endDate[0].value = 'FutureDate'
  }

println XmlUtil.serialize(xml)

しかしたstartDateの値とendDateにの値が更新されません。

cfrick:

あなたはに持っているreplaceBodyタグの。例えば

    it.startDate.replaceBody 'CurrentDate'

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=339159&siteId=1