Question

Alors je tire des données d'un SQL Server 2000 DB puis le convertir en XML en utilisant FOR XML AUTO.

Le XML que je me regarde en arrière comme ça.

<Order OrderNumber="2000004" DeliveryPickupCharge="5.9900" SalesTaxTotal="0.0000"      SubTotal="0.0000" Total="5.9900">
  <Customer FirstName="Anthony" LastName="Caporale">
  <Product ProductName="Paper Towels">
  <OrderItem ItemQuantity="1" ItemPrice="8.5900" Total="8.5900" />
</Product>
<Product ProductName="Bathroom Tissue - Giant Roll">
  <OrderItem ItemQuantity="2" ItemPrice="7.1500" Total="14.3000" />
</Product>
<Product ProductName="Napkins - 1-Ply">
  <OrderItem ItemQuantity="1" ItemPrice="3.4900" Total="3.4900" />
</Product>
<Product ProductName="Facial Tissues - 2-Ply - White">
  <OrderItem ItemQuantity="2" ItemPrice="2.0500" Total="4.1000" />
</Product>
<Product ProductName="Anti-Perspirant &amp; Deodorant - Ultra DryCool Rush">
  <OrderItem ItemQuantity="2" ItemPrice="3.5900" Total="7.1800" />
</Product>
<Product ProductName="Flushable Wipes - Fresh Mates Cloths - Refill">
  <OrderItem ItemQuantity="2" ItemPrice="2.9500" Total="5.9000" />
</Product>

                      

Tout d'abord, en 2000 il n'y a pas de racine ( « tout »), donc est-il possible d'ajouter un nœud racine dans le T-SQL? Aussi, est-il un moyen d'envelopper tous les produits dans une étiquette de produits? Je ne comprends pas pourquoi le XML est retourné sous la forme mauvaise. Je pouvais le réparer un peu si j'étais dans SQL 2005. Malheureusement, je suis coincé avec 2000 pour le moment.

Merci

Autres conseils

Je sais en 2005 en utilisant emboîtés sélectionne vous permet d'intégrer plusieurs résultats dans une étiquette de base (multiple produit en) avec le SEELECT Ensted être déclaré aussi pour AUTO XML.

Vous pouvez également utiliser cette technique pour envelopper le tout dans une balise racine en utilisant une grande sélection imbriquée.

scroll top