繁体   English   中英

获得XML标签名称?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM