我想从消息的XML有效负载中提取一些文本值,以便我可以在jdbc查询中使用它们.
鉴于下面的测试XML文件,我想获得第一本书的作者文本节点的字符串值.
就像是:
INSERT INTO books VALUES (#[xpath('/catalog/book[0]/author/text()')])
Run Code Online (Sandbox Code Playgroud)
为了测试表达式,我只是使用记录器,但似乎无法正确提取它.
<logger message="#[xpath('/catalog/book[0]/author/text()')]" level="DEBUG" doc:name="Logger"/>
Run Code Online (Sandbox Code Playgroud)
<?xml version="1.0"?>
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
</book>
<book id="bk102">
<author>Ralls, Kim</author>
<title>Midnight Rain</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2000-12-16</publish_date>
</book>
</catalog>
Run Code Online (Sandbox Code Playgroud)
这是正确的MEL表达式:
#[xpath('/catalog/book[1]/author/text()').text]
Run Code Online (Sandbox Code Playgroud)
注意在XPath中,第一个节点是1而不是0.
| 归档时间: |
|
| 查看次数: |
10172 次 |
| 最近记录: |