Возможно, вам нужно что-то вроде этого:
DECLARE @tbl TABLE(
a1 int,a2 int, a3_type varchar(10),a3 varchar(10),b1 int,b2_ID varchar(10),b2_name varchar(10),xlr1 varchar(10),xlr2 varchar(10))
INSERT INTO @tbl VALUES
(1,2,'xyz','abc',11,'b2_product','clothing','d11','d12');
SELECT a1
,a2
,a3_type AS [a3/@type]
,a3
,b1 AS [B/b1]
,b2_ID AS [B/b2/@ID]
,b2_name AS [B/b2/@name]
,xlr1 AS [B/b2/c1/d1]
FROM @tbl
FOR XML PATH('A')
Результат
<A>
<a1>1</a1>
<a2>2</a2>
<a3 type="xyz">abc</a3>
<B>
<b1>11</b1>
<b2 ID="b2_product" name="clothing">
<c1>
<d1>d11</d1>
</c1>
</b2>
</B>
</A>
ОБНОВЛЕНИЕ
вы редактировали свой вопрос: Вот новый запрос
SELECT a1
,a2
,a3_type AS [a3/@type]
,a3
,b1 AS [B/b1]
,b2_ID AS [B/b2/@ID]
,b2_name AS [B/b2/@name]
,'xlr1' AS [B/b2/c1/d1/@type]
,xlr1 AS [B/b2/c1/d1]
,'' AS [B/b2/c1] --needed to start a new <d1>
,'xlr2' AS [B/b2/c1/d1/@type]
,xlr2 AS [B/b2/c1/d1]
FROM @tbl
FOR XML PATH('A')