Jeśli Twój kod HTML jest rzeczywiście zgodny z XHTML, a kod HTML jest przechowywany w XML
w tabeli SQL Server, możesz pobrać z niej swoje etykiety w T-SQL za pomocą XQuery:
DECLARE @HtmlTbl TABLE (ID INT IDENTITY, Html XML)
INSERT INTO @HtmlTbl(Html) VALUES('<ektdesignns_choices ektdesignns_nodetype="element" title="How many gigs do you play each month?" ektdesignns_caption="How many gigs do you play each month?" name="ektpoll1303074024421" ektdesignns_name="ektpoll1303074024421" id="ektpoll1303074024421">
<ol contenteditable="false" onkeypress="design_validate_choice(1, -1, this, ''Options are required.'')" onclick="design_validate_choice(1, -1, this, ''Options are required.'')" onblur="design_validate_choice(1, -1, this, ''Options are required.'')" ektdesignns_validation="choice-req" ektdesignns_maxoccurs="1" ektdesignns_minoccurs="1" unselectable="on" title="How many gigs do you play each month?" class="design_list_vertical">
<li>
<input type="radio" ektdesignns_nodetype="item" name="ektpoll1303074024421" value="1 or fewer_1" title="1 or fewer" id="ID2504263" />
<label contenteditable="true" unselectable="off" for="ID2504263">1 or fewer</label>
</li>
<li>
<input type="radio" ektdesignns_nodetype="item" name="ektpoll1303074024421" value="2-4_2" title="2-4" id="ID5115606" />
<label contenteditable="true" unselectable="off" for="ID5115606">2-4</label>
</li>
<li>
<input type="radio" ektdesignns_nodetype="item" name="ektpoll1303074024421" value="5-7_3" title="5-7" id="ID477116" />
<label contenteditable="true" unselectable="off" for="ID477116">5-7</label>
</li>
<li>
<input type="radio" ektdesignns_nodetype="item" name="ektpoll1303074024421" value="8 or more_4" title="8 or more" id="ID5515606" />
<label contenteditable="true" unselectable="off" for="ID5515606">8 or more</label>
</li>
</ol></ektdesignns_choices><input type="submit" value="Vote" />')
Spowoduje to pobranie wszystkich <label>
elementy z Twojego (X)Html jako pojedynczy ciąg XML:
SELECT
Html.query('//label')
FROM @HtmlTbl
WHERE ID = 1
Wyjście:
<label contenteditable="true" unselectable="off" for="ID2504263">1 or fewer</label>
<label contenteditable="true" unselectable="off" for="ID5115606">2-4</label>
<label contenteditable="true" unselectable="off" for="ID477116">5-7</label>
<label contenteditable="true" unselectable="off" for="ID5515606">8 or more</label>
Lub to zaznaczy całą zawartość <label>
tagi, po jednym w rzędzie:
SELECT
C.value('(.)[1]', 'varchar(1000)')
FROM @HtmlTbl
CROSS APPLY Html.nodes('//label') AS T(C)
WHERE ID = 1
Wyjście:
1 or fewer
2-4
5-7
8 or more