<Publish xmlns="http://soa.test.com/SOA">
<FromService>
http://soa.test.com/SOA
</FromService>
<ToService>http://soa.test.com/SOA</ToService>
<RouteTable>
<Article xmlns="http://soa.test.com/SOA">
<ArticleCategory>NESO_OrderProcess</ArticleCategory>
<ArticleType1>CreateOrder</ArticleType1>
<ArticleType2>%</ArticleType2>
</Article>
</RouteTable>
<Node>
<Body>
<Order1></Order1>
<ceder></ceder>
.......
</Body>
</Node>
</Publish>
根据命名空间解析出Body下的所有结点:
<Order1></Order1>
<ceder></ceder>
.......
我写的代码不知道为啥解析不到:
DECLARE @Body NVARCHAR(MAX)WITH XMLNAMESPACES ('http://soa.test.com/SOA' AS eps)
SELECT @Body = CAST(@Msg.query(N'(/eps:Publish/*:Node/Body/*)') AS NVARCHAR(MAX))
<FromService>
http://soa.test.com/SOA
</FromService>
<ToService>http://soa.test.com/SOA</ToService>
<RouteTable>
<Article xmlns="http://soa.test.com/SOA">
<ArticleCategory>NESO_OrderProcess</ArticleCategory>
<ArticleType1>CreateOrder</ArticleType1>
<ArticleType2>%</ArticleType2>
</Article>
</RouteTable>
<Node>
<Body>
<Order1></Order1>
<ceder></ceder>
.......
</Body>
</Node>
</Publish>
根据命名空间解析出Body下的所有结点:
<Order1></Order1>
<ceder></ceder>
.......
我写的代码不知道为啥解析不到:
DECLARE @Body NVARCHAR(MAX)WITH XMLNAMESPACES ('http://soa.test.com/SOA' AS eps)
SELECT @Body = CAST(@Msg.query(N'(/eps:Publish/*:Node/Body/*)') AS NVARCHAR(MAX))
SELECT @MSG='<Publish>
<FromService>
http://soa.test.com/SOA
</FromService>
<ToService>http://soa.test.com/SOA</ToService>
<RouteTable>
<Article xmlns="http://soa.test.com/SOA">
<ArticleCategory>NESO_OrderProcess</ArticleCategory>
<ArticleType1>CreateOrder</ArticleType1>
<ArticleType2>%</ArticleType2>
</Article>
</RouteTable>
<Node>
<Body>
<Order1></Order1>
<ceder></ceder>
.......
</Body>
</Node>
</Publish>'SELECT @MSG.query('//Node/*')
/*
<Body>
<Order1 />
<ceder />
.......
</Body>
*/