Таблица Xpath в таблице

У меня возникла небольшая проблема очистки страницы с большим количеством таблиц с помощью DOMXpath.

Макет действительно ужасный, то есть я пытаюсь извлечь контент из таблицы в таблице внутри таблицы. Используя Firebug FirePath я получаю для элемента таблицы следующий путь:

 html/body/table/tbody/tr[3]/td/table[1]/tbody/tr[2]/td[1]/table[1]/tbody/tr[3]/td[4]

Теперь, после бесконечных экспериментов, я обнаружил, что с отдельной таблицей мне нужно удалить тег "tbody", чтобы он работал. Но этого недостаточно для таблиц в таблицах. Поэтому мой вопрос заключается в том, как лучше всего получить содержимое из таблиц в таблицах внутри таблиц?

Я загрузил файл, который я пытаюсь очистить здесь: 1

2 ответа

Я справился с той же проблемой, что и вы, перебирая источник сложного и не очень хорошо отформатированного HTML, где я хочу получить значения в таблице внутри других таблиц..

я пришел с подходом к поиску той части, которую хочу получить, с помощью ряда функций, подобных этой:

function parse_html() {//gets a specific part of the table i chose to extract the contents
    $query = $xpath->query('//tr[@data-eventid]/@data-eventid'); //gets the table i want
    $this->parse_table();
}
function parse_table() {//
    $query = $xpath->query('//tr[@data-eventid="405412"]/td[@class="impact"]/span[@title]/@title');...etc//extracts the content of the table
    $this->parseEvaluate();
} 
function parseEvaluate(){
    ...verifying values if correct
}

просто дает идею..

Как насчет:

//*[contains(text(),"GRABME")]

Я знаю, что это, вероятно, не то, что вы хотите, но вы поняли идею. Определите шаблон и используйте этот шаблон для создания xpath.

Другие вопросы по тегам