Answer-ID
  • Întrebări
  • Tag-uri
  • Categorii
Notificări
Recompense
Înregistrare
După înregistrare, veți primi notificări despre răspunsurile și comentariile la întrebările DVS.
Logare
Dacă aveţi deja un cont, autentificaţi-vă pentru a verifica notificările noi.
Aici vor fi recompensele pentru întrebările, răspunsurile și comentariile adăugate sau modificate.
Mai mult
Sursă
Editează
Chris Benard
Chris Benard

SQL Server 2005 pentru XML explicit - Aveți nevoie de formatare de ajutor

Am un tabel cu o structură cum ar fi:

------------------------------
LocationID     | AccountNumber
------------------------------
long-guid-here | 12345
long-guid-here | 54321

Pentru a trece într-o altă procedură stocată, am nevoie ca XML să arate astfel:

 
    12345
    54321

Cel mai bun lucru pe care l-am putut face până acum a fost să-l cumpăr:


Folosesc această instrucțiune SQL:

SELECT
    1 as tag,
    null as parent,
    AccountNumber as 'root!1!clientID'
FROM
    Location.LocationMDAccount
WHERE
    locationid = 'long-guid-here'
FOR XML EXPLICIT

Până în prezent, am analizat documentația privind pagina MSDN , dar nu am ieșit cu rezultatele dorite.


@KG,

Al tău mi-a dat de fapt această ieșire:


  
    10705
  

Am de gând să rămân cu FOR XML EXPLICIT de la Chris Leon deocamdată.

11 2008-08-05T20:35:56+00:00 5
Programare
sql-server-2005
sql
formatting
xml
for-xml
Comentarii la întrebare (0)
Chris Leon
1 ianuarie 1970 в 3:00
1970-01-01T03:00:00+00:00
Mai mult
Sursă
Editează
#2825

încerca

SELECT
    1 AS Tag,
    0 AS Parent,
    AccountNumber AS [Root!1!AccountNumber!element]
FROM
    Location.LocationMDAccount
WHERE
    LocationID = 'long-guid-here'
FOR XML EXPLICIT
0
0
Comentarii (0)
karlgrz
1 ianuarie 1970 в 3:00
1970-01-01T03:00:00+00:00
Mai mult
Sursă
Editează
#2832

Încearcă asta, Chris:

SELECT
    AccountNumber as [clientId]
FROM
    Location.Location root
WHERE
    LocationId = 'long-guid-here'
FOR
    XML AUTO, ELEMENTS

IMI PARE FOARTE RAU! Am amestecat ceea ce cereai. Prefer preferința XML AUTO doar pentru ușurința de întreținere, dar cred că una dintre ele este eficientă. Imi cer scuze pentru supravegherea ;-)

0
0
Comentarii (0)
Chris Benard
1 ianuarie 1970 в 3:00
1970-01-01T03:00:00+00:00
Mai mult
Sursă
Editează
#2834

M-am prins cu:

select
1 as tag,
null as parent,
AccountNumber as 'root!1!clientID!element'
from
Location.LocationMDAccount
where
locationid = 'long-guid-here'
for xml explicit
0
0
Comentarii (0)
jeffreypriebe
1 ianuarie 1970 в 3:00
1970-01-01T03:00:00+00:00
Mai mult
Sursă
Editează
#13536

Folosind SQL Server 2005 (sau probabil 2008) găsesc pentru XML PATH pentru a permite mult mai ușor de întreținut SQL decât pentru XML Explicit (mai ales când SQL este mai lung).

În acest caz:

SELECT AccountNumber as "clientID"
FROM Location.LocationMDAccount
WHERE locationid = 'long-guid-here'
FOR XML PATH (''), Root ('root');
0
0
Comentarii (0)
Asher
1 ianuarie 1970 в 3:00
1970-01-01T03:00:00+00:00
Mai mult
Sursă
Editează
#7953073
SELECT 1             as tag,
       null          as parent,
       AccountNumber as 'clientID!1!!element'
FROM Location.LocationMDAccount
WHERE locationid = 'long-guid-here'
FOR XML EXPLICIT, root('root')
0
0
Comentarii (0)
Adăugati o întrebare
Categorii
Toate
Tehnologii
Cultură
Viață / Artă
Stiință
Profesii
Afaceri
ID
KO
RU
© Answer-ID 2021
Sursă
stackoverflow.com
în cadrul licenței cc by-sa 3.0 cu atribuire