#对于demodef encode_wwjd(功能,text_line):tclfunc=@tcl2(fme_decodetext'+text_line+')'返回feature.performFunction(tclfunc)def parseDomains(feature):startIndex=0 Quoteson=0 codes=[]values=[]tempList=[]text line=feature.getStringAttribute('text_line_data')在括号之间切片列表start=text line.index('(')+1 end=textline.index(')')textline_out=textline[start:end]textline_str=textline[0:start]使用tcl调用解码wwjd编码:(tclfunc=@tcl2(fme_decode text'+textline_out+')'textline_out=feature.performmfunction(tclfunc)textline_out=encode_wjd(feature,textline_out)tclfunc=@tcl2(fme_decodetext'+textline_str+')'field_name=feature.performFunction(tclfunc)field_name=encode_wwjd(feature,textline_str)在范围内(len(textline_out))强行解析为i的templist:如果textline_out[i].count(':')!=0,Quoteson==0:templist.append(textline_out[startindex:i])startindex=i+1 elif textline_out[i].count('“')!=0且Quoteson==0:Quoteson=1 elif textline_out[i].count('“')!=0且Quoteson==1:Quoteson=0 templist.append(textline_out[startindex:len(textline_out)])将templist部分放入范围内i的适当属性中(len(templist)):如果i==0:feature.setStringAttribute('domain_name',templist[i])elif i==1:feature.setStringAttribute('domain_type',templist[i])elif(i%2)==0:codes.append(templist[i])else:values.append(templist[i])获取表名feature.setlisttribute('code',codes)feature.setListAttribute('value',values)feature.setStringAttribute('字段名称',字段_name.split('code')[0].strip())