How to get value from root level attribute?

  • Using the following XML, do you know how to retrieve the value of PrintDestination?

    i.e I need to return

    CH3001

    <MyXmlData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="MyXml.xsd" RequestId="D9E4EBA6-5E29-4206-929C-33594AA7F713" PrintDestination="CH3001" PrintPriority="5">

    <SalesChannel>A03</SalesChannel>

    </MyXmlData>'

    Thanks in advance.

  • Is there any particular language that you are looking to accomplish this in? I have some examples in both VB.Net and C#, with the C# example being much clearer. I just completed a blog post about parsing XML using C# and Linq to XML. You can read about it here[/url].

  • not sure exactly what you are looking for, but here is one possible answer

    declare @xml as xml = '<MyXmlData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="MyXml.xsd" RequestId="D9E4EBA6-5E29-4206-929C-33594AA7F713" PrintDestination="CH3001" PrintPriority="5">

    <SalesChannel>A03</SalesChannel>

    </MyXmlData>'

    select @xml.query('let $s := .

    return data($s/MyXmlData/@PrintDestination)')

  • Thanks everyone for your feedback ... I'm always amazed at how I think I'm clear in my communications but often find others are not clear on my intent. In T-SQL I need to extract the value for the PrintDestination attribute, which is an attribute of the root element.

    !2Brite, you hit it right on the head ... this was just what I needed. I wrestled with this problem for hours and couldn’t figure it out. Thank you very much.

  • You might also be interested in this other method:

    declare @myXml xml

    set @myXml = '

    <MyXmlData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="MyXml.xsd" RequestId="D9E4EBA6-5E29-4206-929C-33594AA7F713" PrintDestination="CH3001" PrintPriority="5">

    <SalesChannel>A03</SalesChannel>

    </MyXmlData>'

    select @myXml.value('MyXmlData[1]/@PrintDestination','varchar(20)')

    MM



    select geometry::STGeomFromWKB(0x0106000000020000000103000000010000000B0000001000000000000840000000000000003DD8CCCCCCCCCC0840000000000000003DD8CCCCCCCCCC08408014AE47E17AFC3F040000000000104000CDCCCCCCCCEC3F9C999999999913408014AE47E17AFC3F9C99999999991340000000000000003D0000000000001440000000000000003D000000000000144000000000000000400400000000001040000000000000F03F100000000000084000000000000000401000000000000840000000000000003D0103000000010000000B000000000000000000143D000000000000003D009E99999999B93F000000000000003D009E99999999B93F8014AE47E17AFC3F400000000000F03F00CDCCCCCCCCEC3FA06666666666FE3F8014AE47E17AFC3FA06666666666FE3F000000000000003D1800000000000040000000000000003D18000000000000400000000000000040400000000000F03F000000000000F03F000000000000143D0000000000000040000000000000143D000000000000003D, 0);

  • Forum Etiquette: How to post Reporting Services problems
  • [/url]
  • Forum Etiquette: How to post data/code on a forum to get the best help - by Jeff Moden
  • [/url]
  • How to Post Performance Problems - by Gail Shaw
  • [/url]

  • Very nice ... Thank you.

  • Viewing 6 posts - 1 through 5 (of 5 total)

    You must be logged in to reply to this topic. Login to reply