我正在尝试基于同级元素的值从xml文档中获取元素的值。
例如,<data>
有一系列<questions>
,每个<questions>
有一系列<answers>
和一个<answer>
,其中包含答案的索引该人已选择。
我要问的是我的集合中是否有<questions>
指向某个<answer>
条目中有一个<answers>
的{{1}}值是“ true”。现在,我只是在乎其中一个问题的答案是否正确。
<isCorrect>
这就是我要做的:
<data>
<questions>
<isGraded>true</isGraded>
<answers>
<title>first answer</title>
<isCorrect>true</isCorrect>
</answers>
<answers>
<title>second answer</title>
<isCorrect>false</isCorrect>
</answers>
<answer>1</answer>
</questions>
<questions>
<isGraded>true</isGraded>
<answers>
<title>first answer</title>
<isCorrect>false</isCorrect>
</answers>
<answers>
<title>second answer</title>
<isCorrect>true</isCorrect>
</answers>
<answer>0</answer>
</questions>
</data>
如果我用SET @myValue = @myDoc.value('(/data//questions[isGraded[1]="true"]/child::answers[position() = parent::answer+1][isCorrect="true"])[1]','nvarchar(max)')
中的值替换“ parent :: answer + 1”部分,则会得到所需的值,但是我不知道如何自动查看{{ 1}}元素很有价值。
或者这甚至有可能吗?