在 Kettle / Spoon 中同时读取属性和节点
我正在使用 Kettle 并尝试从 xml 文档加载属性和节点值。
<Colors>
<Color code="123">blue</Color>
<Color code="234">black</Color>
<Color code="456">green</Color>
</Colors>
如果我将循环 XPath 设置为 Colors,我将只获得一行,但它将读取代码和值。
示例:
Code | Color
123 | blue
但是如果我将 XPath 设置为 Color,我将获得 3 行,但它不会读取每个项目的值。
示例:
Code
123
234
456
如何一次性读取所有元素以及属性和节点值?
谢谢。
I'm using kettle and trying to load both the attribute and node values from an xml document.
<Colors>
<Color code="123">blue</Color>
<Color code="234">black</Color>
<Color code="456">green</Color>
</Colors>
If I set the loop XPath to Colors I will only get one row but it will read both the code and the value.
example:
Code | Color
123 | blue
But if I set the XPath to the Color I will get 3 rows, but it will not read the value for each item.
example:
Code
123
234
456
How do I read all elements and both the attribute and node value in one pass?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用“从 XML 获取数据步骤”(输入类别)
将循环 XPath 设置为
/Colors/Color
在字段选项卡中,点击“获取字段”。这将为 Now 添加一行
,对于元素的值,在网格中手动添加新行,如下所示:
换句话说,使用 XPath 标准
text()
函数来提取文本内容来自上下文节点。与往常一样,使用预览行来检查结果。我明白了:
Use a "Get Data From XML step" (input category)
Set the Loop XPath to
/Colors/Color
In the fields tab, hit "Get Fields". This will add a row for
Now, for the value of the elements, add a new row manually in the grid like this:
In other words, use the XPath standard
text()
function to extract the text content from the context node.As always, use Preview rows to check the result. I get this: