[英]get XML tag names?
我想从xml响应中获取标签名称,并将此数据放入flowfile1中,但是要获取所有子节点名称,我将不得不将响应数据转换为xml Document,但在getChildren()
上却遇到了错误。
这是我的代码:
import org.apache.commons.io.IOUtils
import java.nio.charset.StandardCharsets
def flowFile=session.get();
def flowFile1=session.create();
def tagList="";
session.read(flowFile, {inputStream ->
text = IOUtils.toString(inputStream, StandardCharsets.UTF_8)
} as InputStreamCallback)
def xml=new XmlParser().parseText(text)
xml=xml as Document;
for tag in xml.findChildren(){
tagList+=tag+ "\n";
}
flowFile1=session.putAttribute(flowFile1,"filename","tagList");
flowFile1 = session.write(flowFile1, {outputStream ->
outputStream.write(tagList.getBytes(StandardCharsets.UTF_8))
} as OutputStreamCallback)
session.transfer(flowFile1,REL_SUCCESS);
session.remove(flowFile);
这是响应XML的示例:
<responseDate>
<person>
<name>
</name>
<id>
</id>
</person>
</responseDate>
在flowfile1中,我想这样写数据:
responseData
person
name
id
我希望这能帮到您 。
def xml = new XmlParser().parseText(text)
xml.'**'.each {
println it.name()
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.