我有一个表,其中包含XML字段中的一些元数据。
例如
<Meta>
<From>tst@test.com</From>
<To>
<Address>testing@123.com</Address>
<Address>2@2.com</Address>
</To>
<Subject>ESubject Goes Here</Subject>
</Meta>
我希望能够查询此字段以返回以下结果
From To Subject
tst@test.com testing@123.com Subject Goes Here
tst@test.com 2@2.com Subject Goes Here
我写了以下查询
SELECT
MetaData.query('data(/Meta/From)') AS [From],
MetaData.query('data(/Meta/To/Address)') AS [To],
MetaData.query('data(/Meta/Subject)') AS [Subject]
FROM
Documents
但是,这只返回该XML字段的一条记录。它将两个地址组合成一个结果。是否有可能将这些分开记录分开?
我得到的结果是
From To Subject
tst@test.com testing@123.com 2@2.com Subject Goes Here
由于
GAV株系
答案 0 :(得分:0)
您需要返回XML,然后使用以下代码解析它:
StringReader stream = new StringReader(stringFromSQL);
XmlReader reader = XmlReader.Create(stream);
while (reader.Read())
{
// Do stuff
}
其中stringFromSQL
是从表中读取的整个字符串。