簡體   English   中英

使用 groovy 腳本用 ParseText 替換 XML 中的值

[英]Replace Value in XML with ParseText by using groovy script

我想用 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 的值沒有更新。

您必須在標簽上replaceBody 例如

    it.startDate.replaceBody 'CurrentDate'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM