2013-05-12 2 views
1

Я надеюсь преобразовать содержимое 3 смежных TD элементов в TR с помощью Yahoo Pipes в список значений, разделенных запятыми. Источник: Epic Systems Hospitals.Извлечь подэлементы из XPATH Fetch Page pipe

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 получить страницу" правильно изолировать TR элементов с использованием XPATH = //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

+0

Из моего понимания 'xfetch' страницы выдает' html5' содержимого (как вы выбрали этот вариант), или он может испускать 'strings' , Модуль «Подэлемент» помогает получать данные из иерархии, которые могут быть в форме XML или RSS-каналов. – Bill

+0

Со страницы, на которую ссылаюсь: «В настоящее время этот модуль будет извлекать страницу и исправлять неверные теги с помощью Tidy». Разве это не означает, что документ был преобразован в XHTML? – craig

ответ

3

Если у Вас всегда есть 3 TD клетки, вы можете использовать оператор Loop с String Builder внутри, и построить строку путем конкатенации item.td.0, item.td.1, item.td.2.

Я создал пример этого для вас здесь:

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

+0

Кажется, что значения могут быть вставлены в поток HTML, но поток не может быть переписан. Это верно? – craig

+1

Да, я тоже так думаю. В любом случае, будьте осторожны, Yahoo Pipes довольно глючит, поэтому не ожидайте последовательного и логичного поведения. – janos

 Смежные вопросы

  • Нет связанных вопросов^_^