我有一个如下所示的XML文件:
<XML>
<Table name='test'>
<Row>
<Field name='key'>1000</Field>
<Field name='text'>Test</Field>
</Row>
</Table>
</XML>我想解析这个xml并在insert语句中使用它:
<query connection-id="in">
/XML/Table/Row
<script connection-id="out">
INSERT INTO X t (
t.entitykey,
t.text
)
VALUES
(
????????
);
</script>
</query>如何使用XPATH从insert语句中访问特定的Field-Tag?我们更喜欢使用一个XSD来考虑所有的表布局,而不是为每个表维护n个xsd,因此采用了Field@name设计。
谢谢马蒂亚斯
发布于 2014-02-04 09:19:43
Xpath driver公开了一个名为node的变量,该变量为在当前返回的节点上执行xpath表达式提供了上下文。您可以使用以下表达式来获取特定字段的值:
<script connection-id="out">
INSERT INTO X t (t.entitykey, t.text)
VALUES ( ?{node.getString("./Field[@name = 'text']")} );
</script>https://stackoverflow.com/questions/21486352
复制相似问题