XPath中的值和节点功能 [英] Value and Node Function in XPath

查看:86
本文介绍了XPath中的值和节点功能的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法找出价值函数''Id'前面的1是什么!!!



I could not find out what is 1 in front of ''Id'' in value function!!!

DECLARE @XMLTest XML = 
'
<Person> 
	<Id>6</Id> 
	<Name>AABBc</Name> 
	<Family>AABBc</Family> 
	<IDNumber>120000</IDNumber> 
</Person>
'

SELECT T.Item.value('Id[1]'			, 'varchar(20)'),
       T.Item.value('Name[1]'		, 'varchar(20)'),
       T.Item.value('Family[1]'		, 'varchar(20)'),
       T.Item.value('IDNumber[1]'	, 'varchar(20)')
FROM   @XMLTest.nodes('/Person') AS T(Item)

推荐答案

bO,

bO,
DECLARE @XMLTest XML = 
''
<Person> 
	<Id>87</Id> 
	<Name>AbacAba</Name> 
	<Family>wildtype</Family> 
	<IDNumber>110999</IDNumber> 
</person>
<person> 
	<Id>6</Id> 
	<Name>AABBc</Name> 
	<Family>AABBc</Family> 
	<IDNumber>120000</IDNumber> 
</person>
''
SELECT T.Item.value(''Id[1]''			, ''varchar(20)'') As [Id],
       T.Item.value(''Name[1]''		, ''varchar(20)'') As [Name],
       T.Item.value(''Family[1]''		, ''varchar(20)'') As [Family],
       T.Item.value(''IDNumber[1]''	, ''varchar(20)'') As [IDNumber]
FROM   @XMLTest.nodes(''/Person'') AS T(Item)



返回:


And the return:

Id	Name	Family	        IDNumber
87	AbacAba	wildtype	110999
6	AABBc	AABBc	        120000



是的,关于那个指数......它是什么?可能是一些ADO.NET字符串数组标识符?看看这个:


Yeah, about that index ... what is it? Possibly some ADO.NET string array identifier? Look at this:

DECLARE @XMLTest XML = 
''
<Person> 
	<Id>87</Id>
	<Id>01</Id>
		<CulvertNo>6</CulvertNo >
	<Name>AbacAba</Name> 
	<Family>wildtype</Family> 
	<IDNumber>110999</IDNumber> 
</Person>
<Person> 
	<Id>6</Id>
	<Id>02</Id> 
		<CulvertNo>7</CulvertNo>
	<Name>AABBc</Name> 
	<Family>AABBc</Family> 
	<IDNumber>120000</IDNumber> 
</Person>
''
SELECT T.Item.value(''Id[2]''			, ''varchar(20)'') As [Id],
       T.Item.value(''Name[1]''		, ''varchar(20)'') As [Name],
       T.Item.value(''Family[1]''		, ''varchar(20)'') As [Family],
       T.Item.value(''IDNumber[1]''	, ''varchar(20)'') As [IDNumber],
       T.Item.value(''CulvertNo[1]''  , ''varchar(20)'') As [CulvertNo]
FROM   @XMLTest.nodes(''/Person'') AS T(Item)



这让我这样:


THAT gets me this:

Id	Name	Family	        IDNumber	CulvertNo
01	AbacAba	wildtype	110999	        6
02	AABBc	AABBc	        120000	        7



见第二个[Id]的回报。所以XQuery也有其他一些特性。比我想象的要少。


See the return of the second [Id]. So XQuery has some other nature as well. Less trollish than I imagined.


这篇关于XPath中的值和节点功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆