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

SQL Server如何修改、查询带命名空间的XML???
如题,请各位大牛帮忙啊~~~
------解决方案--------------------
你这应该是.net方面的吧?
------解决方案--------------------
这....我也不懂,只是感觉好像是C#的东西而已
------解决方案--------------------
引用:
引用:SQL code?1234567891011121. ;WITH XMLNAMESPACES (default '...', '...' as ns1, '...' as ns2)select xml_variant.query('XQuery') 2.select xml_variant.query('    declare defau……


declare @x xml = N'<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:simpleType name="SID" >
    <xs:restriction base="xs:string">
      <xs:maxLength value="85" />
    </xs:restriction>
  </xs:simpleType>
</xs:schema>'

-- 1. with xmlnamespaces
;with xmlnamespaces('http://www.w3.org/2001/XMLSchema' as xs)
select @x.query('data(//xs:maxLength/@value)')

-- 2 declare namespaces in XQuery
select @x.query('
declare default element namespace "http://www.w3.org/2001/XMLSchema";
data(//maxLength/@value)
')

/*
XML Data Modification Language (XML DML)
http://msdn.microsoft.com/en-us/library/ms177454.aspx

XQuery Language Reference (SQL Server)
http://msdn.microsoft.com/en-us/library/ms189075.aspx
*/