Выбрать первую инстанцию только с XPath?

Внедрить Hashable, что также требует, чтобы вы выполняли оператор == для вашего типа. Они используются для большого количества полезных материалов в стандартной библиотеке Swift, такой как функция indexOf, которая работает только с коллекциями типа, который реализует Equatable или тип Set<T>, который работает только с типами, реализующими Hashable .

19
задан Mat 17 January 2009 в 11:50
поделиться

3 ответа

/descendant::dupe_node[1]

//dupe_node[1] является обычно неправильным, хотя это приводит к идентичному результату в данном случае. См. документы :

путь местоположения//параграф [1] не означает то же как путь местоположения / потомок:: параграф [1]. Последние выборы первый порожденный элемент параграфа; первый выбирает все порожденные элементы параграфа, которые являются первыми детьми параграфа их родителей.

, Учитывая следующий XML:

<foo>
    <bar/>
    <foo>
        <bar/>
    </foo>
</foo>

//bar[1] произведет два узла, потому что обе панели являются первыми детьми своих соответствующих родителей.

/descendant::bar[1] даст только один узел, который является, в первую очередь, панели в документе.

43
ответ дан 30 November 2019 в 02:29
поделиться
//dupe_node[1]

XPath рассчитывает от 1, не 0 в этом случае. Можно использовать этот инструмент для испытания вещей в браузере:

http://www.xmlme.com/XpathTool.aspx?mid=82

6
ответ дан 30 November 2019 в 02:29
поделиться

//dupe_node[1]

4
ответ дан 30 November 2019 в 02:29
поделиться
Другие вопросы по тегам:

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