在XML文件中搜索文本

时间:2012-08-30 06:58:23

标签: xml search-engine pentaho kettle

我有很多Kettle Transformation保存的文件(保存在桌面上)。我需要做的是创建一个搜索页面,用户在任何文本中输入。显示的结果是所有可能的转换保存文件,其中显示特定类型的字符串。

请注意,转换文件采用XML格式。搜索字符串可以是XML文件可以包含的任何内容。我不知道如何开发这个搜索?请帮帮我。

[我尝试使用XPATH读取xml文件(使用Pentaho数据集成工具),但缺少搜索的连接。]

2 个答案:

答案 0 :(得分:2)

如果我理解了你想要的东西,试试看:

  1. 在您转换的属性中定义参数“String4Search”。
  2. 您执行“从XML获取数据”步骤。要获取所有XML文件,您应将“文件/目录”设置为桌面路径,并将通配符“。*。xml ”设置为 比你定义一个字段(比如名为“found_string”),它包含搜索到的字符串(如果它存在于文件中)(XPath: // * [contains(text(),“$ {String4Search}”)] )。您还应选中“在输出中包含文件名”复选框,并定义包含输入文件名称的字段名称。
  3. 在“从XML获取数据”步骤后连接“过滤行”步骤,您可以过滤“found_string”字段为空的所有记录
  4. 然后,您只需添加带有文件名的选择字段,删除重复项,这就是您的结果。
  5. 每当开始转换时,要求您设置参数“String4Search”的值。所以你只需将它设置为你的字符串即可在文件中找到。

答案 1 :(得分:1)

Kettle不是搜索工具。你最好的办法就是在这些文件上执行grep并重新读取结果。

如果您使用的是数据库存储库,那么您当然可以直接查询数据库,这样会更好。