SQL Server’da XML Parsing

SQL Server’da  bazen datayı xml den çekmek zorunda kalabiliriz. Böyle durumlarda  xml parse etmeniz gerekirse faydalı olabileceğini düşündüğüm bir örneği paylaşmak istedim.


Bu örneğin benzerini buldum ve benim çok işime yaradı. Oldukça kısa ve anlaşılır bir kod bloğu olmuş. Burada xml datayı XML tipinde bir değişkene alıyoruz. DocHandle diye tanımlanan değişken sayaç görevi görüyor. Burada sql serverda hazır bulunan sp_xml_preparedocument ve sp_xml_removedocument stored procedurelerini kullanıyoruz. Bu stored procedureler  xml data üzerinde handle ile dolaşmamızı sağlıyor. OPENXML komutuna parametre olarak dochandle ımızı , datamızın olduğu tag leri  ve taglerin arasında aradığımız datanın kaç tag arasında olduğunu veriyoruz. WITH ile de kolon adlarını ve veri tipini veriyoruz. Böylelikle select komutu ile xml arasındaki datayı elde etmiş oluyoruz.