日期:2014-05-17  浏览次数:20669 次

SQL解析XML具体元素的属性
DECLARE @myDoc XML
DECLARE @imyDoc INT 
 SET @myDoc = '<IpList>     
 <StartIP>1.1.1.1</StartIP> 
 <EndIP>2.2.2.2</EndIP>
</IpList>'
EXECUTE SP_XML_PREPAREDOCUMENT @imyDoc OUTPUT, @myDoc 
Create table #XMLa        
 (            
 StartIP varchar(100),        
 EndIP varchar(500)    
 )      
 INSERT INTO #XMLa SELECT * 
  FROM OPENXML (@imyDoc, '@myDoc', 1) 
  WITH(StartIP char(100) 'StartIP',EndIP varchar(100) 'EndIP') 
  
 EXECUTE SP_XML_REMOVEDOCUMENT @imyDoc
go 
select * from #XMLa

 drop table #XMLa


如代码。这段xml很好解析就这样写就可以解析出来,但是现在我遇到麻烦了,真正的xml结构是这样的
<EthernetLink>  
<HubSpoke>H</HubSpoke>  
<IsCustomerWANIP>N</IsCustomerWANIP>  
<LAN_IP NormalRADCE=\"I\" />  
<RAD_CE_IP Type=\"Yes\" NormalRADCE=\"R\" /> 
<MegapopIPAddress>   
<InternetProtocol>IPv4</InternetProtocol>    
<WanIP>Yes</WanIP>    
<NetworkInformation>Static IP</NetworkInformation>  
<IpList>     
 <IP StartIP=\"1.1.1.1\" EndIP=\"2.2.2.2\" />    
</IpList>    
<WanIpProviderEndIP>3.3.3.3</WanIpProviderEndIP>   
<WanIpCustomerEndIP>4.4.4.4</WanIpCustomerEndIP>    
<IsIsp>false</IsIsp>    
<Bgp>false</Bgp>  
</MegapopIPAddress>
</EthernetLink>"

其中<IpList>     
 <IP StartIP=\"1.1.1.1\" EndIP=\"2.2.2.2\" />    
</IpList>   是作为元素属性存在的,现在跪求各位高手指点下这个怎么解析出来?急求
XML SQL

------解决方案--------------------
http://www.cnblogs.com/zhengyun_ustc/archive/2006/06/29/sqlxml_forxmlexplicit.html
------解决方案--------------------

declare @myDoc xml

set @myDoc = '<EthernetLink>  
<HubSpoke>H</HubSpoke>  
<IsCustomerWANIP>N</IsCustomerWANIP>
<LAN_IP NormalRADCE="I\"></LAN_IP>  
<RAD_CE_IP Type="Yes\" NormalRADCE="R\"></RAD_CE_IP> 
<MegapopIPAddress>
<InternetProtocol>IPv4</InternetProtocol>    
<WanIP>Yes</WanIP>    
<Netwo