Bonjour,
J'ai une question sur la procédure stockée sp_xml_preparedocument, j'ai des champs textes qui pour une raison qui m'échappe commence par un caractère blanc (espace).
Je trouve cela ridicule mais malheureusement je ne suis pas l'utilisateur finale et je n'ai pas conçu le modèle initiale.
Enfin, il se fait que je dois transposer ces données en XML, jusque la pas de problème. aucune perte
Je dois maintenant réinsérer mes données et la ça se complique.
J'utilise la procédure stockée sp_xml_preparedocument, et mon document xml qui au départ avait un blanc pour mon champs, n'en a plus une fois le document préparer et traiter par openXML.
Mais pour résumer un long discours voici un exemple : (qui correspond presque a ce que je fais) :
Le résultat obtenu est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 DECLARE @idoc int DECLARE @doc varchar(1000) SET @doc =' <ROOT> <Customer CustomerID=" VINET" ContactName="Paul Henriot"> <Order OrderID="10248" CustomerID=" VINET" EmployeeID="5" OrderDate="1996-07-04T00:00:00"> <OrderDetail ProductID="11" Quantity="12"/> <OrderDetail ProductID="42" Quantity="10"/> </Order> </Customer> <Customer CustomerID="LILAS" ContactName="Carlos Gonzlez"> <Order OrderID="10283" CustomerID="LILAS" EmployeeID="3" OrderDate="1996-08-16T00:00:00"> <OrderDetail ProductID="72" Quantity="3"/> </Order> </Customer> </ROOT>' --Create an internal representation of the XML document. EXEC sp_xml_preparedocument @idoc OUTPUT, @doc -- SELECT stmt using OPENXML rowset provider SELECT * FROM OPENXML (@idoc, '/ROOT/Customer/Order/OrderDetail',2) WITH (OrderID int '../@OrderID', CustomerID varchar(10) '../@CustomerID', OrderDate datetime '../@OrderDate', ProdID int '@ProductID', Qty int '@Quantity')
Comment puis je faire pour ne pas perdre mon blanc, dynamiquement je parle bien sur et sans prédicat des caractère interdit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 10248 VINET 1996-07-04 00:00:00.000 11 12 10248 VINET 1996-07-04 00:00:00.000 42 10 10283 LILAS 1996-08-16 00:00:00.000 72 3
Merci de votre aide
Partager