我正在尝试从数据库字段中的XML“Construct”中解析一些Text。我已经谷歌搜索,并认为它可能是问题,我没有真正的“有效”XML,它可能是一个BOM问题,但没有办法改变数据库中的XML,所以我不得不解析它。
这是我的XML(我只想要Amount):
<Prices><Price Qty="1" FromDate="2015-04-30"><Amount>10.43</Amount></Price></Prices>
这是我的groovyscript:
def parser = new XmlParser(false,false).parseText("item.Prices")
def t = parser.Amount."$Input".text()
(我后来想把t用作这样一行的输出:
def line = item.ItemId + "\t" + item.FAMId + "\t" + t + "\t" + item.FAMId + "\t"+status )
提前致谢
答案 0 :(得分:0)
我的问题只是使用xmlparser作为字符串而不是使用xmlslurper。 此代码有效:
def preis = item.Prices_ShopCOM
def parser = new XmlSlurper(false,false,true).parseText(preis)
def t = parser.Price[0].Amount[0].text()
谢谢!
答案 1 :(得分:-1)
您在&#34; XmlParser&#34;上调用了错误的方法。 &#34; parseText()&#34;方法期望接收要解析的字符串。你应该使用&#34;解析(文件)&#34;方法,您必须从文件名创建一个File对象。
让Groovy javadoc可用是有帮助的,所以你不要犯这样的简单错误。