NIFI:How 在nifi处理器中使用变量节点名获取节点值
NIFI:How to get node value using variable node name in nifi processor
我有像下面这样的 xml 数据,我想在我的 EvaluateXpath 处理器中按名称 'rs' 获取 localAttribtes 标签 我在我的 EvaluateXpath 处理器中尝试了这个表达式 //localAttributes/*[@name='rs']/name()
但我不知道'得到 "rs" 标签值:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<service>
<localAttributes name="rs">
<start>2017-09-07</start>
<startDate>2017-02-02</startDate>
<endDate>2017-03-02</endDate>
<runAs>true</runAs>
<patch>this is patch</patch>
<makeVersion>1</makeVersion>
</localAttributes>
<localAttributes name="ns">
<start>2017-09-07</start>
<startDate>2017-02-02</startDate>
<endDate>2017-03-02</endDate>
<runAs>true</runAs>
<patch>this is patch</patch>
<makeVersion>1</makeVersion>
</localAttributes>
</service>
对于这种情况,正确的 xpath 是:
//localAttributes[@name='rs']/name()
但是评估 name()
很奇怪,因为它 returns 标签名称并且您事先知道标签名称 - localAttributes
如果您想获取 patch
的 localAttributes
标签值,其属性 @name
等于 'rs'
:
//localAttributes[@name='rs']/patch
我有像下面这样的 xml 数据,我想在我的 EvaluateXpath 处理器中按名称 'rs' 获取 localAttribtes 标签 我在我的 EvaluateXpath 处理器中尝试了这个表达式 //localAttributes/*[@name='rs']/name()
但我不知道'得到 "rs" 标签值:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<service>
<localAttributes name="rs">
<start>2017-09-07</start>
<startDate>2017-02-02</startDate>
<endDate>2017-03-02</endDate>
<runAs>true</runAs>
<patch>this is patch</patch>
<makeVersion>1</makeVersion>
</localAttributes>
<localAttributes name="ns">
<start>2017-09-07</start>
<startDate>2017-02-02</startDate>
<endDate>2017-03-02</endDate>
<runAs>true</runAs>
<patch>this is patch</patch>
<makeVersion>1</makeVersion>
</localAttributes>
</service>
对于这种情况,正确的 xpath 是:
//localAttributes[@name='rs']/name()
但是评估 name()
很奇怪,因为它 returns 标签名称并且您事先知道标签名称 - localAttributes
如果您想获取 patch
的 localAttributes
标签值,其属性 @name
等于 'rs'
:
//localAttributes[@name='rs']/patch