1

我有一个如下所示的 XML 文件:

<XML>
  <Table name='test'>
    <Row>
      <Field name='key'>1000</Field>
      <Field name='text'>Test</Field>
    </Row>
  </Table>
</XML>

id 喜欢解析这个 xml 并在插入语句中使用它:

<query  connection-id="in">
    /XML/Table/Row

    <script connection-id="out">
        INSERT INTO X t (
                t.entitykey, 
                t.text
             )
             VALUES 
             (
                 ????????
             );

    </script>
</query>

如何使用 XPATH 从插入语句中访问特定的字段标记?我们更喜欢有一个 XSD 考虑所有表格布局,而不是为每个表格维护 n xsd,因此 Field[@name] 设计。

谢谢马蒂亚斯

4

1 回答 1

2

Xpath 驱动程序公开了一个名为的变量,该变量node为在当前返回的节点上执行 xpath 表达式提供了上下文。您可以使用以下表达式来获取特定字段的值:

<script connection-id="out">
    INSERT INTO X t (t.entitykey, t.text)
         VALUES ( ?{node.getString("./Field[@name = 'text']")} );
</script>
于 2014-02-04T01:19:43.143 回答