我想获取其中xml组件的flowfile并更新其中一个tagvalue我在自定义nifi处理器代码中创建它,我有这样的代码:
flowFile = session.putAttribute(flowFile,"filename",file.getName() + ".xml");
InputSource inputSource = new InputSource((InputStream) flowFile);
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = builderFactory.newDocumentBuilder();
Document xmlDocument = builder.parse(inputSource);
XPath xPath = XPathFactory.newInstance().newXPath();
NodeList myNodeList = (NodeList) xPath.compile("//runAs/text()")
.evaluate(flowFile, XPathConstants.NODESET);
myNodeList.item(0).setNodeValue("false");
但是它提示文件未找到异常异常,我应该更改什么才能使此代码工作p.s我不能使用路径为flowfile
答案 0 :(得分:3)
nifi流文件不是InputStream。
因此代码migrate
错误
如果要将流文件的内容作为输入流获取,可以使用 Boolean exist = false;
for(File file : listaFile){
if(file.getName().startsWith(valueDeep)){
path+="/"+file.getName();
attachFileAnagView.setLvl3(file.getName());
exist = true;
}
}
if(!exist){
new File(path+"/"+valueDeep).mkdir();
path+="/"+valueDeep;
attachFileAnagView.setLvl3(valueDeep);
}
方法,如下所示:
(InputStream) flowFile