XML 搜索字符串 XPath 查询 talend

XML search for string XPath query talend

我尝试使用 tFileInputXML 从 xml 中提取节点。我的 xml 结构如下提取:

<catalog>
<article>
<id>10001</id>
<name>AAAAXXXXAAA</name>
<desc>LLLLLL</desc>
</article>
</catalog>

在 tFileInputXML 中,我设置了如下参数以通过 id 查找特定产品:

问题是我的输出总是 0 行。你能给我一些灯来检查为什么不能正常工作吗?

提前致谢。

我不确定您要实现的目标是什么,但是如果您想要具有特定 ID(作为 xml)的文章节点,请按以下步骤操作。

我有这个 xml 作为输入:

<?xml version="1.0" encoding="utf-8"?>
<catalog>
    <article>
        <id>10001</id>
        <name>AAAAXXXXAAA</name>
        <desc>LLLLLL</desc>
    </article>
    <article>
        <id>10002</id>
        <name>ZZZZZZZZZZ</name>
        <desc>description</desc>
    </article>
</catalog>

以下是我获取 ID 为 10002 的文章节点的方法(检查 Get nodes 选项以获取 xml):

编辑

如果您正在寻找单个节点,以上方法可以正常工作。如果你想搜索多个节点,这里有一个解决方案(注意循环 XPath 查询现在是 /catalog/article):

你也可以使用这个表达式self::node()[contains('10001 10002', descendant::id)]