Если описание вашего требования гласит: «Возвратите все X, но исключая все, что имеет Y», вам почти всегда нужен предикат .
просто использовать следующее выражение XPath:
/lessons/lesson[not(A = 'No')]
Предполагая, что хорошо сформированный входной документ (ваше нет, потому что один из lesson
элементов не закрыт), то результат будет (разделенные индивидуальные результаты по --------
):
<lesson>blah</lesson>
-----------------------
<lesson>blah</lesson>
-----------------------
<lesson>blah</lesson>
-----------------------
<lesson>
<A>Yes</A>
</lesson>
-----------------------
<lesson>
<A>Booyah</A>
</lesson>
-----------------------
<lesson>
<A>Wowzer</A>
</lesson>
причина я хочу конкретно Да, го исключить что-нибудь еще, что может быть в будь то нет, или любое другое значение
Затем используйте
/lessons/lesson[A = 'Yes']
и результат будет (очевидно):
<lesson>
<A>Yes</A>
</lesson>
Если вы также хотели бы выбрать lesson
элементов, если у них нет дочернего элемента A
, используйте
/lessons/lesson[A = 'Yes' or not(A)]
и результат будет
<lesson>blah</lesson>
-----------------------
<lesson>blah</lesson>
-----------------------
<lesson>blah</lesson>
-----------------------
<lesson>
<A>Yes</A>
</lesson>
Благодаря Mathias, я на самом деле редактировать пост, просто исключая нет, не будет работать, потому что я хочу конкретно Да, и исключать ничего, что может быть в быть его нет или любое другое значение. – jensanity5000
@ jensanity5000 См. Мое редактирование - выберите тот, который соответствует вашим требованиям. –
еще раз спасибо. Это приведет только к тому, чтобы меньше было с да. Однако я хочу это и другие «чистые» уроки. Поэтому я хочу три первых урока и да, кроме остальных. Извините, если это не имеет смысла. – jensanity5000