Я хочу извлечь только те узлы, у которых есть определенный дочерний элемент, и этот дочерний элемент должен иметь значение. Пример:
xmlDoc = <Report>
<Version>
<RecordId>1</RecordId>
<Note>abcd</Note>
</Version>
<Version>
<RecordId>2</RecordId>
<Note>efgh</Note>
<Rindicator>1</Rindicator>
</Version>
<Version>
<RecordId>3</RecordId>
<Note>ijkl</Note>
<Rindicator>1</Rindicator>
</Version>
<Version>
<RecordId>4</RecordId>
<Note>ijkl</Note>
<Rindicator>0</Rindicator>
</Version>
</Report>
Результат должен быть
<Report>
<Version>
<RecordId>2</RecordId>
<Note>efgh</Note>
<Rindicator>1</Rindicator>
</Version>
<Version>
<RecordId>3</RecordId>
<Note>ijkl</Note>
<Rindicator>1</Rindicator>
</Version>
</Report>
Я пробовал следующее, но не получил ожидаемых результатов.
DECLARE @RindVal varchar(2) = '1'
UPDATE #TempTable
SET xmlDoc.modify('delete /*:Report/*:Version[*:Rindicator != sql:variable("@RindVal")]');