sql >> Database >  >> RDS >> Sqlserver

Kan inhoud niet lezen als XML 2 wrappers heeft

Het probleem heeft niets te maken met het aantal "wrappers" rond uw XML-gegevens. Het probleem is:uw eerste voorbeeld definieert een XML-naamruimte (xmlns="test.xsd" ) op de <data> node, maar uw vraag respecteert dat niet.

U moet uw zoekopdracht wijzigen om er ongeveer zo uit te zien:

-- Using the query() method
;WITH XMLNAMESPACES (DEFAULT 'test.xsd')
SELECT 
    T.customer.query('id').value('.', 'INT') AS customer_id,
    T.customer.query('name').value('.', 'VARCHAR(20)') AS customer_name
FROM 
    @data.nodes('data/subdata/customer') AS T(customer);

Dan krijg je resultaten....

Zonder deze XML-naamruimtedeclaratie zou uw query prima werken - twee wrappers of meer doen er helemaal niet toe.




  1. Hoe lat en lang te krijgen van sdo_geometry in oracle

  2. MySQL-resultaten correct vergelijken en uitsluiten

  3. Verschil tussen Oracle jdbc-stuurprogrammaklassen?

  4. Hoe kan ik de databasenaam krijgen waarmee ik ben verbonden via Hibernate?