代码之家  ›  专栏  ›  技术社区  ›  jValls

XML搜索字符串XPath查询talend

  •  0
  • jValls  · 技术社区  · 7 年前

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

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

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

    enter image description here

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

    提前谢谢。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Community CDub    4 年前

    我不确定您想要实现什么,但如果您希望文章节点具有特定的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的选项):

    enter image description here

    enter image description here

    编辑

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

    enter image description here

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