Xml 在釜/匙中同时读取属性和节点

Xml 在釜/匙中同时读取属性和节点,xml,kettle,Xml,Kettle,我正在使用Ketter并尝试从xml文档中加载属性值和节点值 <Colors> <Color code="123">blue</Color> <Color code="234">black</Color> <Color code="456">green</Color> </Colors> 但是如果我将XPath设置为颜色,我将得到3行,但它不会读取每个项目的值。 例如: 如何在一次过程中

我正在使用Ketter并尝试从xml文档中加载属性值和节点值

<Colors>
  <Color code="123">blue</Color>
  <Color code="234">black</Color>
  <Color code="456">green</Color>
</Colors>
但是如果我将XPath设置为颜色,我将得到3行,但它不会读取每个项目的值。
例如:

如何在一次过程中读取所有元素以及属性和节点值

谢谢

使用“从XML获取数据”步骤(输入类别) 将循环XPath设置为
/Colors/Color
在字段选项卡中,点击“获取字段”。这将为添加一行

Name    XPath   Element Type    Format  Length  Precision   CurrencyDecimal Group   Trim type   Repeat
code    @code   Node    Integer                         none    N
现在,对于元素的值,在网格中手动添加新行,如下所示:

Name    XPath   Element Type    Format  Length  Precision   CurrencyDecimal Group   Trim type   Repeat
value   text()  Node    String                          none    N
换句话说,使用XPath标准
text()
函数从上下文节点提取文本内容

一如既往,使用预览行检查结果。我明白了:

code    value
123 blue
234 black
456 green
使用“从XML获取数据”步骤(输入类别) 将循环XPath设置为
/Colors/Color
在字段选项卡中,点击“获取字段”。这将为添加一行

Name    XPath   Element Type    Format  Length  Precision   CurrencyDecimal Group   Trim type   Repeat
code    @code   Node    Integer                         none    N
现在,对于元素的值,在网格中手动添加新行,如下所示:

Name    XPath   Element Type    Format  Length  Precision   CurrencyDecimal Group   Trim type   Repeat
value   text()  Node    String                          none    N
换句话说,使用XPath标准
text()
函数从上下文节点提取文本内容

一如既往,使用预览行检查结果。我明白了:

code    value
123 blue
234 black
456 green

非常感谢!这让我很生气。np,很高兴这有帮助。生成同时包含属性和文本内容的XML元素有一些缺点。非常感谢!这让我很生气。np,很高兴这有帮助。生成同时具有属性和文本内容的XML元素有一些缺点。