[英]sql server read xml without inner tags
即时通讯正在读取xml,但是当我想在不使用它的inner(child)标签的情况下读取它时,我遇到了一个问题。 例如:
DECLARE @XMLToParse XML
SET @XMLToParse = '<Animals>
<LandAnimals>
<Animal>Baboon</Animal>
<Animal>Yak
<d>asd</d>
</Animal>
<Animal>Zebra</Animal>
</LandAnimals>
</Animals>'
SELECT xmlData.A.value('.', 'VARCHAR(100)') AS Animal
FROM @XMLToParse.nodes('Animals/LandAnimals/Animal') xmlData(A)
该查询提取第二条记录“ Yak asd”,但我只需要“ Yak”。 我该如何解决?
谢谢。!
更改对.value()
调用以获取text()
:
SELECT xmlData.A.value('(./text())[1]', 'VARCHAR(100)') AS Animal
FROM @XMLToParse.nodes('Animals/LandAnimals/Animal') xmlData(A)
指定text()
SELECT xmlData.A.value('./text()[1]', 'VARCHAR(100)') AS Animal
FROM @XMLToParse.nodes('Animals/LandAnimals/Animal') xmlData(A)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.