从XPATH Fetch Page管道中提取子元素

时间:2013-05-12 18:47:16

标签: yahoo-pipes

我希望使用Yahoo Pipes将TD中3个相邻TR个元素的内容转换为以逗号分隔的值列表。来源:Epic Systems Hospitals

HTML片段:

...

<table width="623" cellspacing="0" cellpadding="0" border="0">
  <colgroup>
    <tbody>
      <tr height="20">
        <td width="425" height="20">Institution 0</td>
        <td width="134">Minneapolis</td>
        <td width="64">MN</td>
      </tr>
      <tr height="20">
        <td height="20">Institution 1</td>
        <td>Philadelphia</td>
        <td>PA</td>
      </tr>

...

我使用“XPath抓取页面”源来使用XPATH = TR正确隔离//tr[@height='20']元素。

但是,我很难获得TD个元素。对我来说,我应该使用哪个组件并不明显,所以我选择了一个带有“special variable substitution”语法的子元素。不幸的是,${td.0.content}不起作用。

我不理解什么?

**编辑**

我的目标是创建一个类似于:

的XML流
<institutions>
  <institution name='Institution 0' city='Minneapolis' region='MN'/>
  <institution name='Institution 1' city='Philadelphia' region='PA'/>
  ...
<institutions/>

enter image description here

1 个答案:

答案 0 :(得分:3)

如果您总是有3个td单元格,则可以使用内置Loop的{​​{1}}运算符,并通过连接String Builderitem.td.0,{{来构建字符串1}}。

我在这里为你创建了一个例子:

http://pipes.yahoo.com/pipes/pipe.info?_id=3d24486f7c6e8413dc6252ef37c2f086