Запросы использования HTML Yahoo YQL

Как вернуть признак impl, заключенный в Result?

blockquote>

Путем вернуть признак impl, заключенный в Result :

use std::{
    fs::File,
    io::{self, Read},
};

fn test() -> io::Result {
    let f = File::open("test.txt")?;
    Ok(f)
}
[119 ] См. Также:

10
задан Hank Gay 19 March 2009 в 08:28
поделиться

1 ответ

YQL требует, чтобы выражение XPath оценило к тексту узла, а не itemPath. Но после того как у Вас есть itemPath, можно спроектировать различные значения от дерева

Другими словами, ItemPath должен указать на Узел в получающемся HTML, а не текстовом содержании/атрибутах. YQL возвращает все узлы соответствия и их детей, когда Вы выбираете * из данных.

пример

select * from html where url="http://stackoverflow.com" and xpath='//div/h3/a'

Это возвращает соответствие всего a xpath. Теперь для проектирования текстового содержания можно спроектировать его использование

select content from html where url="http://stackoverflow.com" and xpath='//div/h3/a'

"содержание" возвращает текстовое содержание, сохраненное в узле.

Поскольку проектирование приписывает, можно указать его относительно выражения XPath. В этом случае, так как Вам нужен href, который является относительно a.

select href from html where url="http://stackoverflow.com" and xpath='//div/h3/a'

это возвращается <results> <a href="/questions/663973/putting-a-background-pictures-with-leds"/> <a href="/questions/663013/advantages-and-disadvantages-of-popular-high-level-languages"/> .... </results>

Если Вам были нужны и атрибут 'href' и в textContent, то можно выполнить следующий запрос YQL:

select href, content from html where url="http://stackoverflow.com" and xpath='//div/h3/a'

возвраты:

<results> <a href="/questions/663950/double-pointer-const-issue-issue">double pointer const issue issue</a>... </results>

Надежда, которая помогает. сообщите мне, есть ли у Вас больше вопросов на YQL.

20
ответ дан 3 December 2019 в 19:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: