Java groovy中两个标记之间的解析?

Java groovy中两个标记之间的解析?,java,regex,grails,groovy,Java,Regex,Grails,Groovy,我想用groovy解析这个Gstring: 格式类型:键,值 def txt = """ <Lane_Attributes> ID,1 FovCount,600 FovCounted,598 ... </Lane_Attributes> """ 我该怎么办: -提取标记和?, -并转换为

我想用groovy解析这个Gstring:

格式类型:键,值

   def txt = """ <Lane_Attributes>
                  ID,1
                  FovCount,600
                  FovCounted,598
                  ...
                  </Lane_Attributes> """
我该怎么办:
-提取标记和?,
-并转换为地图?

尝试以下操作:

def map = [:]
txt.replaceAll('<.+>', '').trim().eachLine { line ->
   def parts = line.split(',')
   map[parts[0].trim()] = parts[1].trim().toInteger()
}
defmap=[:]
txt.replaceAll(“”,).trim().eachLine{line->
def parts=行。拆分(',')
映射[零件[0].trim()]=零件[1].trim().toInteger()
}
def txt=”“”
身份证,1
FovCount,600
FOV计算,598
"""
defmap=newhashmap()
def lane=new XmlParser().parseText(txt)
def content=lane.text()
content.eachLine{
行->
def dual=line.split(',')
def key=dual[0]。修剪()
def val=dual[1]。修剪()
//println“键:${key}值:${val}”
地图放置(键,val)
}
println“map contains”+map.inspect()
//将打印:地图包含[“FovCounted”:“598”,“ID”:“1”,“FovCount”:“600”]


您的问题是,标记之间的内容需要始终保持相同的格式,否则此代码将中断一些不错的groovy regexp示例:

在我的txt文件中,我有几个标记(例如:,但也有)。我尝试:def regex=“(.*)”,但不起作用?有什么想法吗?谢谢。是的,我需要为我的标签定义不同的解析器。事实上,XmlParser将帮助找到标记名并使用好的解析器(按内容)。谢谢
def map = [:]
txt.replaceAll('<.+>', '').trim().eachLine { line ->
   def parts = line.split(',')
   map[parts[0].trim()] = parts[1].trim().toInteger()
}
   def txt = """ <Lane_Attributes>
                  ID,1
                  FovCount,600
                  FovCounted,598

                  </Lane_Attributes> """

def map = new HashMap()
def lane = new XmlParser().parseText(txt)

 def content =  lane.text()


content.eachLine {
 line -> 

def dual =  line.split(',')
def key = dual[0].trim()
def val = dual[1].trim() 
//println "key: ${key} value: ${val}"
map.put(key,val)

}

println "map contains " +  map.inspect()