Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Get the value out of an XML Node using xpath

Posted on 2008-06-24
9
Medium Priority
?
1,493 Views
Last Modified: 2008-06-25
I was not exactly sure how to word the question but here is what i want.

I have a statement to get a value from a node of an XML

SELECT @NodeID =  nullif(t.c.query('NodeID').value('.','int'), 0)
from @x.nodes('/Nodes/NodeLevel-1') t(c)

but in the from clause  instead of  '/Nodes/NodeLevel-1' I would like to have a variable named @NodePath where

set @Nodepath = 'Nodes/NodeLevel-' + Cast(@Level as varchar)

is this possible. if yes, how?

I have already tried

SELECT @NodeID =  nullif(t.c.query('NodeID').value('.','int'), 0)
from @x.nodes(@Nodepath) t(c) ------- does not work
also

SELECT @NodeID =  nullif(t.c.query('NodeID').value('.','int'), 0)
from @x.nodes'Nodes/NodeLevel-' + Cast(@Level as varchar)) t(c) ------- does not work
0
Comment
Question by:pratikshahse
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
9 Comments
 
LVL 60

Expert Comment

by:chapmandew
ID: 21859752
Post a sample of your XML data and what you want the output from the query to be...
0
 

Author Comment

by:pratikshahse
ID: 21859779
<NodeLevel-1>
      <NodeID>1</NodeID>
      <ParentNodeID>1</ParentNodeID>
      <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
      <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
      <Nodes>
        <NodeLevel-2>
          <NodeID>4</NodeID>
          <ParentNodeID>1</ParentNodeID>
          <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
          <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
          <Nodes>
            <NodeLevel-3>
              <NodeID>16</NodeID>
              <ParentNodeID>4</ParentNodeID>
              <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
              <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
              <NodeResult>
                <NodeResult>
                  <EffectiveDate>5/20/2008 12:00:00 AM</EffectiveDate>
                  <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                  <Value>
                    <value>5.74</value>
                  </Value>
                  <Attribute>
                    <AttributeID>34</AttributeID>
                  </Attribute>
                </NodeResult>
              </NodeResult>
              <Clause>
                <ClauseID>224</ClauseID>
                <ClauseGroupID>0</ClauseGroupID>
                <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                <Description>
                </Description>
                <Operation>
                  <Code>=</Code>
                </Operation>
                <Attribute>
                  <AttributeID>19</AttributeID>
                </Attribute>
                <Values>
                  <Value>
                    <value>N</value>
                  </Value>
                </Values>
              </Clause>
            </NodeLevel-3>
            <NodeLevel-3>
              <NodeID>17</NodeID>
              <ParentNodeID>4</ParentNodeID>
              <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
              <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
              <Nodes>
                <NodeLevel-4>
                  <NodeID>35</NodeID>
                  <ParentNodeID>17</ParentNodeID>
                  <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
                  <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                  <Nodes>
                    <NodeLevel-5>
                      <NodeID>49</NodeID>
                      <ParentNodeID>35</ParentNodeID>
                      <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
                      <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                      <NodeResult>
                        <NodeResult>
                          <EffectiveDate>5/20/2008 12:00:00 AM</EffectiveDate>
                          <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                          <Value>
                            <value>5.74</value>
                          </Value>
                          <Attribute>
                            <AttributeID>34</AttributeID>
                          </Attribute>
                        </NodeResult>
                      </NodeResult>
                      <Clause>
                        <ClauseID>257</ClauseID>
                        <ClauseGroupID>0</ClauseGroupID>
                        <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                        <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                        <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                        <Description>
                        </Description>
                        <Operation>
                          <Code>&lt;=</Code>
                        </Operation>
                        <Attribute>
                          <AttributeID>18</AttributeID>
                        </Attribute>
                        <Values>
                          <Value>
                            <value>2006</value>
                          </Value>
                        </Values>
                      </Clause>
                    </NodeLevel-5>
                    <NodeLevel-5>
                      <NodeID>50</NodeID>
                      <ParentNodeID>35</ParentNodeID>
                      <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
                      <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                      <NodeResult>
                        <NodeResult>
                          <EffectiveDate>5/20/2008 12:00:00 AM</EffectiveDate>
                          <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                          <Value>
                            <value>5.74</value>
                          </Value>
                          <Attribute>
                            <AttributeID>34</AttributeID>
                          </Attribute>
                        </NodeResult>
                      </NodeResult>
                      <Clause>
                        <ClauseID>258</ClauseID>
                        <ClauseGroupID>0</ClauseGroupID>
                        <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                        <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                        <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                        <Description>
                        </Description>
                        <Operation>
                          <Code>BET</Code>
                        </Operation>
                        <Attribute>
                          <AttributeID>18</AttributeID>
                        </Attribute>
                        <Values>
                          <Value>
                            <value>2007</value>
                          </Value>
                          <Value>
                            <value>2008</value>
                          </Value>
                        </Values>
                      </Clause>
                    </NodeLevel-5>
                  </Nodes>
                  <Clause>
                    <ClauseID>243</ClauseID>
                    <ClauseGroupID>0</ClauseGroupID>
                    <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                    <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                    <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                    <Description>
                    </Description>
                    <Operation>
                      <Code>=</Code>
                    </Operation>
                    <Attribute>
                      <AttributeID>11</AttributeID>
                    </Attribute>
                    <Values>
                      <Value>
                        <value>TRUE</value>
                      </Value>
                    </Values>
                  </Clause>
                </NodeLevel-4>
                <NodeLevel-4>
                  <NodeID>36</NodeID>
                  <ParentNodeID>17</ParentNodeID>
                  <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
                  <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                  <Nodes>
                    <NodeLevel-5>
                      <NodeID>51</NodeID>
                      <ParentNodeID>36</ParentNodeID>
                      <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
                      <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                      <NodeResult>
                        <NodeResult>
                          <EffectiveDate>5/20/2008 12:00:00 AM</EffectiveDate>
                          <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                          <Value>
                            <value>6.74</value>
                          </Value>
                          <Attribute>
                            <AttributeID>34</AttributeID>
                          </Attribute>
                        </NodeResult>
                      </NodeResult>
                      <Clause>
                        <ClauseID>259</ClauseID>
                        <ClauseGroupID>0</ClauseGroupID>
                        <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                        <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                        <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                        <Description>
                        </Description>
                        <Operation>
                          <Code>&lt;=</Code>
                        </Operation>
                        <Attribute>
                          <AttributeID>18</AttributeID>
                        </Attribute>
                        <Values>
                          <Value>
                            <value>2003</value>
                          </Value>
                        </Values>
                      </Clause>
                    </NodeLevel-5>
                    <NodeLevel-5>
                      <NodeID>52</NodeID>
                      <ParentNodeID>36</ParentNodeID>
                      <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
                      <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                      <NodeResult>
                        <NodeResult>
                          <EffectiveDate>5/20/2008 12:00:00 AM</EffectiveDate>
                          <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                          <Value>
                            <value>6.49</value>
                          </Value>
                          <Attribute>
                            <AttributeID>34</AttributeID>
                          </Attribute>
                        </NodeResult>
                      </NodeResult>
                      <Clause>
                        <ClauseID>260</ClauseID>
                        <ClauseGroupID>0</ClauseGroupID>
                        <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                        <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                        <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                        <Description>
                        </Description>
                        <Operation>
                          <Code>BET</Code>
                        </Operation>
                        <Attribute>
                          <AttributeID>18</AttributeID>
                        </Attribute>
                        <Values>
                          <Value>
                            <value>2004</value>
                          </Value>
                          <Value>
                            <value>2005</value>
                          </Value>
                        </Values>
                      </Clause>
                    </NodeLevel-5>
                    <NodeLevel-5>
                      <NodeID>53</NodeID>
                      <ParentNodeID>36</ParentNodeID>
                      <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
                      <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                      <NodeResult>
                        <NodeResult>
                          <EffectiveDate>5/20/2008 12:00:00 AM</EffectiveDate>
                          <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                          <Value>
                            <value>6.24</value>
                          </Value>
                          <Attribute>
                            <AttributeID>34</AttributeID>
                          </Attribute>
                        </NodeResult>
                      </NodeResult>
                      <Clause>
                        <ClauseID>261</ClauseID>
                        <ClauseGroupID>0</ClauseGroupID>
                        <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                        <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                        <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                        <Description>
                        </Description>
                        <Operation>
                          <Code>=</Code>
                        </Operation>
                        <Attribute>
                          <AttributeID>18</AttributeID>
                        </Attribute>
                        <Values>
                          <Value>
                            <value>2006</value>
                          </Value>
                        </Values>
                      </Clause>
                    </NodeLevel-5>
                    <NodeLevel-5>
                      <NodeID>54</NodeID>
                      <ParentNodeID>36</ParentNodeID>
                      <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
                      <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                      <NodeResult>
                        <NodeResult>
                          <EffectiveDate>5/20/2008 12:00:00 AM</EffectiveDate>
                          <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                          <Value>
                            <value>5.99</value>
                          </Value>
                          <Attribute>
                            <AttributeID>34</AttributeID>
                          </Attribute>
                        </NodeResult>
                      </NodeResult>
                      <Clause>
                        <ClauseID>262</ClauseID>
                        <ClauseGroupID>0</ClauseGroupID>
                        <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                        <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                        <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                        <Description>
                        </Description>
                        <Operation>
                          <Code>BET</Code>
                        </Operation>
                        <Attribute>
                          <AttributeID>18</AttributeID>
                        </Attribute>
                        <Values>
                          <Value>
                            <value>2007</value>
                          </Value>
                          <Value>
                            <value>2008</value>
                          </Value>
                        </Values>
                      </Clause>
                    </NodeLevel-5>
                  </Nodes>
                  <Clause>
                    <ClauseID>244</ClauseID>
                    <ClauseGroupID>0</ClauseGroupID>
                    <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                    <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                    <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                    <Description>
                    </Description>
                    <Operation>
                      <Code>=</Code>
                    </Operation>
                    <Attribute>
                      <AttributeID>11</AttributeID>
                    </Attribute>
                    <Values>
                      <Value>
                        <value>FALSE</value>
                      </Value>
                    </Values>
                  </Clause>
                </NodeLevel-4>
              </Nodes>
              <Clause>
                <ClauseID>225</ClauseID>
                <ClauseGroupID>0</ClauseGroupID>
                <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                <Description>
                </Description>
                <Operation>
                  <Code>=</Code>
                </Operation>
                <Attribute>
                  <AttributeID>19</AttributeID>
                </Attribute>
                <Values>
                  <Value>
                    <value>U</value>
                  </Value>
                </Values>
              </Clause>
            </NodeLevel-3>
          </Nodes>
          <Clause>
            <ClauseID>212</ClauseID>
            <ClauseGroupID>0</ClauseGroupID>
            <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
            <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
            <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
            <Description>
            </Description>
            <Operation>
              <Code>&lt;=</Code>
            </Operation>
            <Attribute>
              <AttributeID>25</AttributeID>
            </Attribute>
            <Values>
              <Value>
                <value>60</value>
              </Value>
            </Values>
          </Clause>
        </NodeLevel-2>
        <NodeLevel-2>
          <NodeID>5</NodeID>
          <ParentNodeID>1</ParentNodeID>
          <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
          <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
          <Nodes>
            <NodeLevel-3>
              <NodeID>18</NodeID>
              <ParentNodeID>5</ParentNodeID>
              <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
              <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
              <NodeResult>
                <NodeResult>
                  <EffectiveDate>5/20/2008 12:00:00 AM</EffectiveDate>
                  <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                  <Value>
                    <value>5.74</value>
                  </Value>
                  <Attribute>
                    <AttributeID>34</AttributeID>
                  </Attribute>
                </NodeResult>
              </NodeResult>
              <Clause>
                <ClauseID>226</ClauseID>
                <ClauseGroupID>0</ClauseGroupID>
                <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                <Description>
                </Description>
                <Operation>
                  <Code>=</Code>
                </Operation>
                <Attribute>
                  <AttributeID>19</AttributeID>
                </Attribute>
                <Values>
                  <Value>
                    <value>N</value>
                  </Value>
                </Values>
              </Clause>
            </NodeLevel-3>
            <NodeLevel-3>
              <NodeID>19</NodeID>
              <ParentNodeID>5</ParentNodeID>
              <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
              <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
              <Nodes>
                <NodeLevel-4>
                  <NodeID>37</NodeID>
                  <ParentNodeID>19</ParentNodeID>
                  <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
                  <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                  <Nodes>
                    <NodeLevel-5>
                      <NodeID>55</NodeID>
                      <ParentNodeID>37</ParentNodeID>
                      <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
                      <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                      <NodeResult>
                        <NodeResult>
                          <EffectiveDate>5/20/2008 12:00:00 AM</EffectiveDate>
                          <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                          <Value>
                            <value>5.74</value>
                          </Value>
                          <Attribute>
                            <AttributeID>34</AttributeID>
                          </Attribute>
                        </NodeResult>
                      </NodeResult>
                      <Clause>
                        <ClauseID>263</ClauseID>
                        <ClauseGroupID>0</ClauseGroupID>
                        <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                        <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                        <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                        <Description>
                        </Description>
                        <Operation>
                          <Code>BET</Code>
                        </Operation>
                        <Attribute>
                          <AttributeID>18</AttributeID>
                        </Attribute>
                        <Values>
                          <Value>
                            <value>2007</value>
                          </Value>
                          <Value>
                            <value>2008</value>
                          </Value>
                        </Values>
                      </Clause>
                    </NodeLevel-5>
                  </Nodes>
                  <Clause>
                    <ClauseID>245</ClauseID>
                    <ClauseGroupID>0</ClauseGroupID>
                    <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                    <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                    <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                    <Description>
                    </Description>
                    <Operation>
                      <Code>=</Code>
                    </Operation>
                    <Attribute>
                      <AttributeID>11</AttributeID>
                    </Attribute>
                    <Values>
                      <Value>
                        <value>TRUE</value>
                      </Value>
                    </Values>
                  </Clause>
                </NodeLevel-4>
                <NodeLevel-4>
                  <NodeID>38</NodeID>
                  <ParentNodeID>19</ParentNodeID>
                  <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
                  <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                  <Nodes>
                    <NodeLevel-5>
                      <NodeID>56</NodeID>
                      <ParentNodeID>38</ParentNodeID>
                      <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
                      <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                      <NodeResult>
                        <NodeResult>
                          <EffectiveDate>5/20/2008 12:00:00 AM</EffectiveDate>
                          <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                          <Value>
                            <value>6.49</value>
                          </Value>
                          <Attribute>
                            <AttributeID>34</AttributeID>
                          </Attribute>
                        </NodeResult>
                      </NodeResult>
                      <Clause>
                        <ClauseID>264</ClauseID>
                        <ClauseGroupID>0</ClauseGroupID>
                        <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                        <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                        <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                        <Description>
                        </Description>
                        <Operation>
                          <Code>BET</Code>
                        </Operation>
                        <Attribute>
                          <AttributeID>18</AttributeID>
                        </Attribute>
                        <Values>
                          <Value>
                            <value>2004</value>
                          </Value>
                          <Value>
                            <value>2005</value>
                          </Value>
                        </Values>
                      </Clause>
                    </NodeLevel-5>
                    <NodeLevel-5>
                      <NodeID>57</NodeID>
                      <ParentNodeID>38</ParentNodeID>
                      <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
                      <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                      <NodeResult>
                        <NodeResult>
                          <EffectiveDate>5/20/2008 12:00:00 AM</EffectiveDate>
                          <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                          <Value>
                            <value>6.24</value>
                          </Value>
                          <Attribute>
                            <AttributeID>34</AttributeID>
                          </Attribute>
                        </NodeResult>
                      </NodeResult>
                      <Clause>
                        <ClauseID>265</ClauseID>
                        <ClauseGroupID>0</ClauseGroupID>
                        <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                        <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                        <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                        <Description>
                        </Description>
                        <Operation>
                          <Code>=</Code>
                        </Operation>
                        <Attribute>
                          <AttributeID>18</AttributeID>
                        </Attribute>
                        <Values>
                          <Value>
                            <value>2006</value>
                          </Value>
                        </Values>
                      </Clause>
                    </NodeLevel-5>
                    <NodeLevel-5>
                      <NodeID>58</NodeID>
                      <ParentNodeID>38</ParentNodeID>
                      <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
                      <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                      <NodeResult>
                        <NodeResult>
                          <EffectiveDate>5/20/2008 12:00:00 AM</EffectiveDate>
                          <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                          <Value>
                            <value>5.99</value>
                          </Value>
                          <Attribute>
                            <AttributeID>34</AttributeID>
                          </Attribute>
                        </NodeResult>
                      </NodeResult>
                      <Clause>
                        <ClauseID>266</ClauseID>
                        <ClauseGroupID>0</ClauseGroupID>
                        <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                        <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                        <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                        <Description>
                        </Description>
                        <Operation>
                          <Code>BET</Code>
                        </Operation>
                        <Attribute>
                          <AttributeID>18</AttributeID>
                        </Attribute>
                        <Values>
                          <Value>
                            <value>2007</value>
                          </Value>
                          <Value>
                            <value>2008</value>
                          </Value>
                        </Values>
                      </Clause>
                    </NodeLevel-5>
                  </Nodes>
                  <Clause>
                    <ClauseID>246</ClauseID>
                    <ClauseGroupID>0</ClauseGroupID>
                    <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                    <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                    <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                    <Description>
                    </Description>
                    <Operation>
                      <Code>=</Code>
                    </Operation>
                    <Attribute>
                      <AttributeID>11</AttributeID>
                    </Attribute>
                    <Values>
                      <Value>
                        <value>FALSE</value>
                      </Value>
                    </Values>
                  </Clause>
                </NodeLevel-4>
              </Nodes>
              <Clause>
                <ClauseID>227</ClauseID>
                <ClauseGroupID>0</ClauseGroupID>
                <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                <Description>
                </Description>
                <Operation>
                  <Code>=</Code>
                </Operation>
                <Attribute>
                  <AttributeID>19</AttributeID>
                </Attribute>
                <Values>
                  <Value>
                    <value>U</value>
                  </Value>
                </Values>
              </Clause>
            </NodeLevel-3>
          </Nodes>
          <Clause>
            <ClauseID>213</ClauseID>
            <ClauseGroupID>0</ClauseGroupID>
            <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
            <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
            <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
            <Description>
            </Description>
            <Operation>
              <Code>BET</Code>
            </Operation>
            <Attribute>
              <AttributeID>25</AttributeID>
            </Attribute>
            <Values>
              <Value>
                <value>61</value>
              </Value>
              <Value>
                <value>66</value>
              </Value>
            </Values>
          </Clause>
        </NodeLevel-2>
        <NodeLevel-2>
          <NodeID>6</NodeID>
          <ParentNodeID>1</ParentNodeID>
          <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
          <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
          <Nodes>
            <NodeLevel-3>
              <NodeID>20</NodeID>
              <ParentNodeID>6</ParentNodeID>
              <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
              <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
              <NodeResult>
                <NodeResult>
                  <EffectiveDate>5/20/2008 12:00:00 AM</EffectiveDate>
                  <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                  <Value>
                    <value>6.74</value>
                  </Value>
                  <Attribute>
                    <AttributeID>34</AttributeID>
                  </Attribute>
                </NodeResult>
              </NodeResult>
              <Clause>
                <ClauseID>228</ClauseID>
                <ClauseGroupID>0</ClauseGroupID>
                <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                <Description>
                </Description>
                <Operation>
                  <Code>=</Code>
                </Operation>
                <Attribute>
                  <AttributeID>19</AttributeID>
                </Attribute>
                <Values>
                  <Value>
                    <value>N</value>
                  </Value>
                </Values>
              </Clause>
            </NodeLevel-3>
            <NodeLevel-3>
              <NodeID>21</NodeID>
              <ParentNodeID>6</ParentNodeID>
              <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
              <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
              <Nodes>
                <NodeLevel-4>
                  <NodeID>39</NodeID>
                  <ParentNodeID>21</ParentNodeID>
                  <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
                  <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                  <Nodes>
                    <NodeLevel-5>
                      <NodeID>59</NodeID>
                      <ParentNodeID>39</ParentNodeID>
                      <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
                      <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                      <NodeResult>
                        <NodeResult>
                          <EffectiveDate>5/20/2008 12:00:00 AM</EffectiveDate>
                          <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                          <Value>
                            <value>6.74</value>
                          </Value>
                          <Attribute>
                            <AttributeID>34</AttributeID>
                          </Attribute>
                        </NodeResult>
                      </NodeResult>
                      <Clause>
                        <ClauseID>267</ClauseID>
                        <ClauseGroupID>0</ClauseGroupID>
                        <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                        <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                        <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                        <Description>
                        </Description>
                        <Operation>
                          <Code>BET</Code>
                        </Operation>
                        <Attribute>
                          <AttributeID>18</AttributeID>
                        </Attribute>
                        <Values>
                          <Value>
                            <value>2007</value>
                          </Value>
                          <Value>
                            <value>2008</value>
                          </Value>
                        </Values>
                      </Clause>
                    </NodeLevel-5>
                  </Nodes>
                  <Clause>
                    <ClauseID>247</ClauseID>
                    <ClauseGroupID>0</ClauseGroupID>
                    <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                    <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                    <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                    <Description>
                    </Description>
                    <Operation>
                      <Code>=</Code>
                    </Operation>
                    <Attribute>
                      <AttributeID>11</AttributeID>
                    </Attribute>
                    <Values>
                      <Value>
                        <value>TRUE</value>
                      </Value>
                    </Values>
                  </Clause>
                </NodeLevel-4>
                <NodeLevel-4>
                  <NodeID>40</NodeID>
                  <ParentNodeID>21</ParentNodeID>
                  <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
                  <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                  <Nodes>
                    <NodeLevel-5>
                      <NodeID>60</NodeID>
                      <ParentNodeID>40</ParentNodeID>
                      <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
                      <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                      <NodeResult>
                        <NodeResult>
                          <EffectiveDate>5/20/2008 12:00:00 AM</EffectiveDate>
                          <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                          <Value>
                            <value>7.49</value>
                          </Value>
                          <Attribute>
                            <AttributeID>34</AttributeID>
                          </Attribute>
                        </NodeResult>
                      </NodeResult>
                      <Clause>
                        <ClauseID>268</ClauseID>
                        <ClauseGroupID>0</ClauseGroupID>
                        <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                        <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                        <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                        <Description>
                        </Description>
                        <Operation>
                          <Code>BET</Code>
                        </Operation>
                        <Attribute>
                          <AttributeID>18</AttributeID>
                        </Attribute>
                        <Values>
                          <Value>
                            <value>2004</value>
                          </Value>
                          <Value>
                            <value>2005</value>
                          </Value>
                        </Values>
                      </Clause>
                    </NodeLevel-5>
                    <NodeLevel-5>
                      <NodeID>61</NodeID>
                      <ParentNodeID>40</ParentNodeID>
                      <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
                      <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                      <NodeResult>
                        <NodeResult>
                          <EffectiveDate>5/20/2008 12:00:00 AM</EffectiveDate>
                          <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                          <Value>
                            <value>7.24</value>
                          </Value>
                          <Attribute>
                            <AttributeID>34</AttributeID>
                          </Attribute>
                        </NodeResult>
                      </NodeResult>
                      <Clause>
                        <ClauseID>269</ClauseID>
                        <ClauseGroupID>0</ClauseGroupID>
                        <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                        <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                        <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                        <Description>
                        </Description>
                        <Operation>
                          <Code>=</Code>
                        </Operation>
                        <Attribute>
                          <AttributeID>18</AttributeID>
                        </Attribute>
                        <Values>
                          <Value>
                            <value>2006</value>
                          </Value>
                        </Values>
                      </Clause>
                    </NodeLevel-5>
                    <NodeLevel-5>
                      <NodeID>62</NodeID>
                      <ParentNodeID>40</ParentNodeID>
                      <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
                      <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                      <NodeResult>
                        <NodeResult>
                          <EffectiveDate>5/20/2008 12:00:00 AM</EffectiveDate>
                          <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                          <Value>
                            <value>6.99</value>
                          </Value>
                          <Attribute>
                            <AttributeID>34</AttributeID>
                          </Attribute>
                        </NodeResult>
                      </NodeResult>
                      <Clause>
                        <ClauseID>270</ClauseID>
                        <ClauseGroupID>0</ClauseGroupID>
                        <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                        <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                        <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                        <Description>
                        </Description>
                        <Operation>
                          <Code>BET</Code>
                        </Operation>
                        <Attribute>
                          <AttributeID>18</AttributeID>
                        </Attribute>
                        <Values>
                          <Value>
                            <value>2007</value>
                          </Value>
                          <Value>
                            <value>2008</value>
                          </Value>
                        </Values>
                      </Clause>
                    </NodeLevel-5>
                  </Nodes>
                  <Clause>
                    <ClauseID>248</ClauseID>
                    <ClauseGroupID>0</ClauseGroupID>
                    <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                    <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                    <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                    <Description>
                    </Description>
                    <Operation>
                      <Code>=</Code>
                    </Operation>
                    <Attribute>
                      <AttributeID>11</AttributeID>
                    </Attribute>
                    <Values>
                      <Value>
                        <value>FALSE</value>
                      </Value>
                    </Values>
                  </Clause>
                </NodeLevel-4>
              </Nodes>
              <Clause>
                <ClauseID>229</ClauseID>
                <ClauseGroupID>0</ClauseGroupID>
                <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                <Description>
                </Description>
                <Operation>
                  <Code>=</Code>
                </Operation>
                <Attribute>
                  <AttributeID>19</AttributeID>
                </Attribute>
                <Values>
                  <Value>
                    <value>U</value>
                  </Value>
                </Values>
              </Clause>
            </NodeLevel-3>
          </Nodes>
          <Clause>
            <ClauseID>214</ClauseID>
            <ClauseGroupID>0</ClauseGroupID>
            <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
            <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
            <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
            <Description>
            </Description>
            <Operation>
              <Code>BET</Code>
            </Operation>
            <Attribute>
              <AttributeID>25</AttributeID>
            </Attribute>
            <Values>
              <Value>
                <value>67</value>
              </Value>
              <Value>
                <value>72</value>
              </Value>
            </Values>
          </Clause>
        </NodeLevel-2>
        <NodeLevel-2>
          <NodeID>7</NodeID>
          <ParentNodeID>1</ParentNodeID>
          <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
          <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
          <Nodes>
            <NodeLevel-3>
              <NodeID>22</NodeID>
              <ParentNodeID>7</ParentNodeID>
              <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
              <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
              <NodeResult>
                <NodeResult>
                  <EffectiveDate>5/20/2008 12:00:00 AM</EffectiveDate>
                  <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>
                  <Value>
                    <value>8.74</value>
                  </Value>
                  <Attribute>
                    <AttributeID>34</AttributeID>
                  </Attribute>
                </NodeResult>
              </NodeResult>
              <Clause>
                <ClauseID>230</ClauseID>
                <ClauseGroupID>0</ClauseGroupID>
                <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
                <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
                <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
                <Description>
                </Description>
                <Operation>
                  <Code>=</Code>
                </Operation>
                <Attribute>
                  <AttributeID>19</AttributeID>
                </Attribute>
                <Values>
                  <Value>
                    <value>N</value>
                  </Value>
                </Values>
              </Clause>
            </NodeLevel-3>
          </Nodes>
          <Clause>
            <ClauseID>215</ClauseID>
            <ClauseGroupID>0</ClauseGroupID>
            <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
            <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
            <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
            <Description>
            </Description>
            <Operation>
              <Code>BET</Code>
            </Operation>
            <Attribute>
              <AttributeID>25</AttributeID>
            </Attribute>
            <Values>
              <Value>
                <value>73</value>
              </Value>
              <Value>
                <value>84</value>
              </Value>
            </Values>
          </Clause>
        </NodeLevel-2>
      </Nodes>
      <Clause>
        <ClauseID>209</ClauseID>
        <ClauseGroupID>0</ClauseGroupID>
        <EffectiveDate>1/25/2008 12:00:00 AM</EffectiveDate>
        <ExpirationDate>12/25/2008 12:00:00 AM</ExpirationDate>
        <DeActivateDate>1/1/1900 12:00:00 AM</DeActivateDate>
        <Description>
        </Description>
        <Operation>
          <Code>=</Code>
        </Operation>
        <Attribute>
          <AttributeID>44</AttributeID>
        </Attribute>
        <Values>
          <Value>
            <value>ELTE</value>
          </Value>
        </Values>
      </Clause>
    </NodeLevel-1>
0
 
LVL 60

Expert Comment

by:chapmandew
ID: 21859910
Ahh...you can't use a variable for what you're trying to do.  It **has to be a string literal.  But, the good news is that you can get around it easily enough by doing something like this:

DECLARE @SQLString NVARCHAR(500);
DECLARE @ParmDefinition NVARCHAR(500);
declare @x xml, @y varchar(10), @sql nvarchar(100)
set @x = '<root><base>tim</base></root>'
set  @y = '/root/base'

SET @SQLString =
     N'select t.c.value(''.'',''varchar(10)'')
from @x.nodes(''' + @y + ''') t(c)'


SET @ParmDefinition = N'@x xml';


EXECUTE sp_executesql @SQLString, @ParmDefinition,
                      @x = @x;
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 

Author Comment

by:pratikshahse
ID: 21860360
this works fine but just one problem.

How do i get values of each node seperately

I need values of each nodes seperate
<NodeID>1</NodeID>
      <ParentNodeID>1</ParentNodeID>
      <EffectiveDate>1/1/1900 12:00:00 AM</EffectiveDate>
      <ExpirationDate>1/1/1900 12:00:00 AM</ExpirationDate>

i want a seperate value for NodeId, ParentNodeID,EffectiveDate and ExpirationDate.

instead I get a one column with all the values in it.
111/1/1900 12:00:00 AM1/1/1900 12:00:00 AM411/1/19.......

here is what i am doing

set @Level = 1
      
select @NodesXML
SET @x = CAST(@NodesXML as XML)
SET @NodePath = '/NodeLevel-' + Cast(@Level as varchar)

EXEC sp_xml_preparedocument @docHandle OUTPUT, @x


SELECT @SQLString =    N'select t.c.value(''.'',''varchar(50)'')
from @x.nodes(''' + @NodePath + ''') t(c)'
SET @ParmDefinition = N'@x xml';


EXECUTE sp_executesql @SQLString, @ParmDefinition,
                      @x = @x;
0
 

Author Comment

by:pratikshahse
ID: 21860425
never mind. i think i got it.
0
 

Author Comment

by:pratikshahse
ID: 21860509
ok i think i did not get it. i am able to get the individual values out but how do i put that value in a variable so that i can use that for inserting in a table. after running your example i get the output 'tim'. how can i put that value in a variable @name.

0
 
LVL 60

Expert Comment

by:chapmandew
ID: 21860607
So, just so I am clear...you want to know how to assign the value 'tim' to a variable, right?
0
 

Author Comment

by:pratikshahse
ID: 21860627
yes
0
 
LVL 60

Accepted Solution

by:
chapmandew earned 2000 total points
ID: 21860723
OK, try this:

DECLARE @SQLString NVARCHAR(500);
DECLARE @ParmDefinition NVARCHAR(500);
declare @x xml, @y varchar(10), @sql nvarchar(100), @newval varchar(10)
set @x = '<root><base>tim</base></root>'
set  @y = '/root/base'

SET @SQLString =
     N'select @val = t.c.value(''.'',''varchar(10)'')
from @x.nodes(''' + @y + ''') t(c)'


SET @ParmDefinition = N'@x xml, @val varchar(10) output';


EXECUTE sp_executesql @SQLString, @ParmDefinition,
                      @x = @x, @val = @newval output;

select @newval
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

There are some very powerful Dynamic Management Views (DMV's) introduced with SQL 2005. The two in particular that we are going to discuss are sys.dm_db_index_usage_stats and sys.dm_db_index_operational_stats.   Recently, I was involved in a di…
In this article I will describe the Copy Database Wizard method as one possible migration process and I will add the extra tasks needed for an upgrade when and where is applied so it will cover all.
In response to a need for security and privacy, and to continue fostering an environment members can turn to for support, solutions, and education, Experts Exchange has created anonymous question capabilities. This new feature is available to our Pr…
Are you ready to place your question in front of subject-matter experts for more timely responses? With the release of Priority Question, Premium Members, Team Accounts and Qualified Experts can now identify the emergent level of their issue, signal…

618 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question