Tsql 文本节点的内部内容加上一个属性
我希望在这里能清楚地看到我想要实现的目标。我一直在反复试验Tsql 文本节点的内部内容加上一个属性,tsql,xquery,Tsql,Xquery,我希望在这里能清楚地看到我想要实现的目标。我一直在反复试验 insert into @description select d.value('*[1]', 'varchar(MAX)') text ,d.value('../@id', 'varchar(50)') parent from @xml.nodes('//*[local-name(.)="description"]') as xtbl(d) 我想查询name description的所有元素,记录内部文本和对父节点的引用 上面的
insert into @description
select
d.value('*[1]', 'varchar(MAX)') text
,d.value('../@id', 'varchar(50)') parent
from @xml.nodes('//*[local-name(.)="description"]') as xtbl(d)
我想查询name description的所有元素,记录内部文本和对父节点的引用
上面的代码运行,但文本全部为空。编辑
XML练习:
<effort id="6d9cb0d1-58b0-11e2-acbb-00268315c2c5" start="2013-01-07 10:55:55" status="1" stop="2013-01-07 11:10:34">
<description>
Stängde sajten med felmeddelande.
</description>
</effort>
谢谢 我这里没有SQL server,但/*[local name.=description]的语法不正确。*:描述也一样,读起来更漂亮。另外,我猜您不能在d.value中找到父级,因此您可能希望选择//*:efforce,然后选择user作为d.value参数@id和description/text。也就是说,您的问题缺少当前出现的问题。那么,它不是如预期的那样工作吗?如果是,实际结果如何?或者你收到错误信息了吗?当然。我将编辑我的问题,然后尝试你的语法。谢谢。所以你的建议很有希望,但我得到了:XQuery[value]:“value”需要一个单例或空序列,找到了类型为“xdt:untypedAtomic*”的操作数。这不是我的专长。适用于描述[1]@德克,你为什么不把你的东西放在答案里,我来选。
declare @description table(
text varchar(MAX)
,parent varchar(50)
)