peterlyttle
Technical User
Hi, I am having a problem with the following query in that it doesnt seem to be nesting correctly ie. it should be like -
<address>
<hostname>PC1</hostname>
<ip>10.10.10.10</ip>
<mac>00-16-35-62-B0-70</mac>
</address>
However all i am getting is <hostname>PC1</hostname><hostname>PC2</hostname><hostname>PC3</hostname>etc
Does anyone have any ideas which part I have gone wrong at? Also what would be the easiest way to automatically generate the xml file on a schedule?
SELECT
1 as TAG,
NULL as PARENT,
NULL as [address!1],
NULL as [hostname!2],
NULL as [hostname!2!os],
NULL as [hostname!2!servertype],
NULL as [ip!3],
NULL as [mac!4],
NULL as [server!5],
NULL as [user!6]
union all
SELECT
2 as TAG,
1 as PARENT,
CS.[PC_UserName],
CS.[PC_Name] as PC_NAME,
replace(OS.[Caption], 'Microsoft Windows XP Professional', 'WinXP'),
NULL,
NULL,
NULL,
NULL,
NULL
FROM Net AS NI
JOIN System AS CS
ON CS.AID = NI.AID
JOIN Operating AS OS
ON CS.AID = OS.AID
WHERE CS.[PC_Name] LIKE '%PC%'
AND NI.[IPAddr] != '0.0.0.0'
AND NI.[Description] NOT LIKE '%Wireless%'
AND NI.[Description] != 'WAN (PPP/SLIP) Interface'
union all
SELECT
3 as TAG,
1 as PARENT,
NULL,
NULL,
NULL,
NULL,
NI.[IPAddr],
NULL,
NULL,
NULL
FROM Net AS NI
JOIN System AS CS
ON CS.AID = NI.AID
JOIN Operating AS OS
ON CS.AID = OS.AID
WHERE CS.[PC_Name] LIKE '%PC%'
AND NI.[IPAddr] != '0.0.0.0'
AND NI.[Description] NOT LIKE '%Wireless%'
AND NI.[Description] != 'WAN (PPP/SLIP) Interface'
union all
SELECT
4 as TAG,
1 as PARENT,
NULL,
NULL,
NULL,
NULL,
NULL,
NI.[MacAddr],
NULL,
NULL
FROM Net AS NI
JOIN System AS CS
ON CS.AID = NI.AID
JOIN Operating AS OS
ON CS.AID = OS.AID
WHERE CS.[PC_Name] LIKE '%PC%'
AND NI.[IPAddr] != '0.0.0.0'
AND NI.[Description] NOT LIKE '%Wireless%'
AND NI.[Description] != 'WAN (PPP/SLIP) Interface'
union all
SELECT
5 as TAG,
1 as PARENT,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
CS.[PC_Domain],
NULL
FROM Net AS NI
JOIN System AS CS
ON CS.AID = NI.AID
JOIN Operating AS OS
ON CS.AID = OS.AID
WHERE CS.[PC_Name] LIKE '%PC%'
AND NI.[IPAddr] != '0.0.0.0'
AND NI.[Description] NOT LIKE '%Wireless%'
AND NI.[Description] != 'WAN (PPP/SLIP) Interface'
union all
SELECT
6 as TAG,
1 as PARENT,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
replace(CS.[PC_UserName], 'TEST\','')
FROM Net AS NI
JOIN System AS CS
ON CS.AID = NI.AID
JOIN Operating AS OS
ON CS.AID = OS.AID
WHERE CS.[PC_Name] LIKE '%PC%'
AND NI.[IPAddr] != '0.0.0.0'
AND NI.[Description] NOT LIKE '%Wireless%'
AND NI.[Description] != 'WAN (PPP/SLIP) Interface'
FOR XML EXPLICIT
<address>
<hostname>PC1</hostname>
<ip>10.10.10.10</ip>
<mac>00-16-35-62-B0-70</mac>
</address>
However all i am getting is <hostname>PC1</hostname><hostname>PC2</hostname><hostname>PC3</hostname>etc
Does anyone have any ideas which part I have gone wrong at? Also what would be the easiest way to automatically generate the xml file on a schedule?
SELECT
1 as TAG,
NULL as PARENT,
NULL as [address!1],
NULL as [hostname!2],
NULL as [hostname!2!os],
NULL as [hostname!2!servertype],
NULL as [ip!3],
NULL as [mac!4],
NULL as [server!5],
NULL as [user!6]
union all
SELECT
2 as TAG,
1 as PARENT,
CS.[PC_UserName],
CS.[PC_Name] as PC_NAME,
replace(OS.[Caption], 'Microsoft Windows XP Professional', 'WinXP'),
NULL,
NULL,
NULL,
NULL,
NULL
FROM Net AS NI
JOIN System AS CS
ON CS.AID = NI.AID
JOIN Operating AS OS
ON CS.AID = OS.AID
WHERE CS.[PC_Name] LIKE '%PC%'
AND NI.[IPAddr] != '0.0.0.0'
AND NI.[Description] NOT LIKE '%Wireless%'
AND NI.[Description] != 'WAN (PPP/SLIP) Interface'
union all
SELECT
3 as TAG,
1 as PARENT,
NULL,
NULL,
NULL,
NULL,
NI.[IPAddr],
NULL,
NULL,
NULL
FROM Net AS NI
JOIN System AS CS
ON CS.AID = NI.AID
JOIN Operating AS OS
ON CS.AID = OS.AID
WHERE CS.[PC_Name] LIKE '%PC%'
AND NI.[IPAddr] != '0.0.0.0'
AND NI.[Description] NOT LIKE '%Wireless%'
AND NI.[Description] != 'WAN (PPP/SLIP) Interface'
union all
SELECT
4 as TAG,
1 as PARENT,
NULL,
NULL,
NULL,
NULL,
NULL,
NI.[MacAddr],
NULL,
NULL
FROM Net AS NI
JOIN System AS CS
ON CS.AID = NI.AID
JOIN Operating AS OS
ON CS.AID = OS.AID
WHERE CS.[PC_Name] LIKE '%PC%'
AND NI.[IPAddr] != '0.0.0.0'
AND NI.[Description] NOT LIKE '%Wireless%'
AND NI.[Description] != 'WAN (PPP/SLIP) Interface'
union all
SELECT
5 as TAG,
1 as PARENT,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
CS.[PC_Domain],
NULL
FROM Net AS NI
JOIN System AS CS
ON CS.AID = NI.AID
JOIN Operating AS OS
ON CS.AID = OS.AID
WHERE CS.[PC_Name] LIKE '%PC%'
AND NI.[IPAddr] != '0.0.0.0'
AND NI.[Description] NOT LIKE '%Wireless%'
AND NI.[Description] != 'WAN (PPP/SLIP) Interface'
union all
SELECT
6 as TAG,
1 as PARENT,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
replace(CS.[PC_UserName], 'TEST\','')
FROM Net AS NI
JOIN System AS CS
ON CS.AID = NI.AID
JOIN Operating AS OS
ON CS.AID = OS.AID
WHERE CS.[PC_Name] LIKE '%PC%'
AND NI.[IPAddr] != '0.0.0.0'
AND NI.[Description] NOT LIKE '%Wireless%'
AND NI.[Description] != 'WAN (PPP/SLIP) Interface'
FOR XML EXPLICIT