Groovy XML解析:不允许内容

时间:2015-08-18 14:05:27

标签: xml groovy

我正在尝试从数据库字段中的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 )

提前致谢

2 个答案:

答案 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可用是有帮助的,所以你不要犯这样的简单错误。