post icon

XQuery Path – Quering XML database data type with SQL

Nello snippet seguente viene illustrata la possibilità di effettuare delle query XPath in una query T-SQL su campi di tipo XML.

Supponiamo di avere una tabella sul database chiamata “Test” con una colonna di tipo XML chiamata “colonna_xml” con il seguente valore:

<?xml version="1.0" encoding="utf-16"?>
<dati_xml>
 <utente id="1">
  <nome>Mario</nome>
  <gruppo>Users</gruppo>
 </utente>
</dati_xml>

La seguente XQuery

SELECT colonna_xml.query('data(/dati_xml/utente[@id="1"]/nome)')
  FROM Test

ritornerà “Mario” come risultato.

Mentre la seguente query XQuery

SELECT colonna_xml.query('(/dati_xml/utente[@id=&quot;1&quot;]/nome)')
  FROM Test

ritorna il nodo Mario.

Un altro esempio si XQuery Path è la seguente:

DECLARE @myXML2 XML
SET		@myXML2 = 
'<MyList>
	<item attributo1="value11" attributo2="value12" />
	<item attributo1="value21" attributo2="value22" />
</MyList>'

SELECT T.Item.value('@attributo1' , 'varchar(10)') AS Attributo1,
	T.Item.value('@attributo2' , 'varchar(10)') AS Attributo2

FROM @myXML2.nodes('//MyList/item') AS T(Item)

che restituisce la seguente tabella:

Attributo1 Attributo2
value11 value12
value21 value22

17 febbraio 2009 @ 19:00

No comments yet.

Leave a comment

Leave a Reply

Are you human? Time limit is exhausted. Please reload CAPTCHA.