Solved

Get the value out of an XML Node using xpath

Posted on 2008-06-24
9
1,451 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
  • 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
 

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
Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

 

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 500 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

Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

Question has a verified solution.

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

If you having speed problem in loading SQL Server Management Studio, try to uncheck these options in your internet browser (IE -> Internet Options / Advanced / Security):    . Check for publisher's certificate revocation    . Check for server ce…
In SQL Server, when rows are selected from a table, does it retrieve data in the order in which it is inserted?  Many believe this is the case. Let us try to examine for ourselves with an example. To get started, use the following script, wh…
Windows 10 is mostly good. However the one thing that annoys me is how many clicks you have to do to dial a VPN connection. You have to go to settings from the start menu, (2 clicks), Network and Internet (1 click), Click VPN (another click) then fi…
Both in life and business – not all partnerships are created equal. As the demand for cloud services increases, so do the number of self-proclaimed cloud partners. Asking the right questions up front in the partnership, will enable both parties …

912 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

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now