Каков надлежащий XPath для “всех узлов точно один ниже основного узла?”

Вероятно, git reset --hard origin/HEAD - это то, что вам нужно. Он вернет все изменения, которые не были переданы в удаленный репозиторий.

5
задан Yes - that Jake. 27 March 2009 в 19:41
поделиться

2 ответа

Два текущих ответа являются неправильными:

/*/*

не выбирает все узлы, которые являются детьми главного узла. Это не выбирает текстовых узлов, инструкций обработки или комментариев, которые являются детьми вершины.

Одно выражение XPath, которые выбирают все узлы, который вынужденно дети вершины является:

/*/node()

// не синтаксически правильное выражение XPath; согласно Спецификации XPath:

//коротко для/descendant-or-self:: узел () /

Действительно отметьте начало незаконченного шага местоположения в самом конце расширенного сокращения. Если ничто не добавляется к нему, целое выражение XPath, содержащее сокращение, закончено и, поэтому, синтаксически неправильный.

Другое примечание то, что // сокращение не необходимо в определении выбора всех узлов, которые являются детьми вершины. Если Вы хотели выбрать все узлы в XML-документе, которые убывают от вершины, то одно выражение XPath, которые выбирают их:

/*//node()

7
ответ дан 18 December 2019 в 12:02
поделиться

Путь, который Вы ищете,

/*/*

// не значимое выражение XPath, так как это - оператор. Если Вы записали что-то как //element, это соответствовало бы каждому названному элементу element где угодно в XML-документе, неважно, как глубоко в иерархию это.

/*/* говорит, "соответствуют каждому узлу, который имеет два уровня глубины в иерархии".

8
ответ дан 18 December 2019 в 12:02
поделиться
Другие вопросы по тегам:

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