首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scriptella: XML to DB: Insert Into from XPATH

Scriptella: XML to DB: Insert Into from XPATH
EN

Stack Overflow用户
提问于 2014-02-01 01:29:39
回答 1查看 480关注 0票数 1

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

代码语言:javascript
复制
<XML>
  <Table name='test'>
    <Row>
      <Field name='key'>1000</Field>
      <Field name='text'>Test</Field>
    </Row>
  </Table>
</XML>

我想解析这个xml并在insert语句中使用它:

代码语言:javascript
复制
<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设计。

谢谢马蒂亚斯

EN

回答 1

Stack Overflow用户

发布于 2014-02-04 09:19:43

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

代码语言:javascript
复制
<script connection-id="out">
    INSERT INTO X t (t.entitykey, t.text)
         VALUES ( ?{node.getString("./Field[@name = 'text']")} );
</script>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21486352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档