Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

How to correct the XPath Query in OpenXML statement to get the state for each row.

Posted on 2010-08-25
3
Medium Priority
?
309 Views
Last Modified: 2012-05-10
I am having trouble pulling the "StateProvCd" value for each RatingClassificationCd in the following script.  Have been playing with the Xpath and it always returns "IN" for both rows instead of "IN" for the first row and "IL" for the second row.


DECLARE @idoc int

EXEC sp_xml_preparedocument @idoc output, '<MainElement>
		<LineBusiness id="12345">
 		<LOBCd>WORK</LOBCd> 
		<RateState>
 			<StateProvCd>IN</StateProvCd> 
		<LocInfo>
			<RateClass id="abc">
  			<RatingClassificationCd>1234</RatingClassificationCd> 
  			<Exposure>100</Exposure> 
			<RatingClassificationDesc>CLASS TEST 1</RatingClassificationDesc>
  			</RateClass>
  		</LocInfo>
  		</RateState>
		<RateState>
  			<StateProvCd>IL</StateProvCd> 
		<LocInfo>
			<RateClass id="def">
  			<RatingClassificationCd>5678</RatingClassificationCd> 
  			<Exposure>500</Exposure> 
  			<RatingClassificationDesc>CLASS TEST 2</RatingClassificationDesc>  
  			</RateClass>
  		</LocInfo>
  		</RateState>
  		</LineBusiness></MainElement>'

			
SELECT RatingClassificationCd, RatingClassificationDesc, Exposure, StateProvCd
FROM   OPENXML (@idoc, '/MainElement/LineBusiness/RateState/LocInfo/RateClass', 3)
						WITH (StateProvCd				char(2) '../../../RateState/StateProvCd',
							 RatingClassificationCd 		char(5) 'RatingClassificationCd', 
							 RatingClassificationDesc 	varchar(250) 'RatingClassificationDesc',
							 Exposure					numeric(18,0) 'Exposure'							 
							) 


EXEC sp_xml_removedocument @idoc

Open in new window

0
Comment
Question by:EIHI-IT
[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
  • 2
3 Comments
 
LVL 3

Accepted Solution

by:
grepll earned 2000 total points
ID: 33521907
This should work:
WITH (StateProvCd char(2) 'ancestor::RateState/StateProvCd',

Open in new window

0
 

Author Comment

by:EIHI-IT
ID: 33521947
Thank You!
0
 
LVL 3

Expert Comment

by:grepll
ID: 33522045
Welcome.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
The Delta outage: 650 cancelled flights, more than 1200 delayed flights, thousands of frustrated customers, tens of millions of dollars in damages – plus untold reputational damage to one of the world’s most trusted airlines. All due to a catastroph…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Viewers will learn how the fundamental information of how to create a table.

722 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