[英]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.