我正在尝试解决以下问题,该问题导致表示数据库中计算的对象序列化。我正在尝试为报告目的执行查询,并且需要在 XML 层次结构的不同部分中的相同位置找到节点(这些来自对象的序列化string[]
和double[]
属性)。例如我有类似的东西
...<parent>
<Names>
<string>Name1</string>
<string>Name2</string>
<string>Name3</string>
</Names>
and
...<parent>
<Weights>
<double>0.5</double>
<double>0.13</double>
<double>0.2</double>
</Weights>
我希望能够查询 XML blob 并为每个 XML blob 提取名称-权重对,以便我可以在 SQL 中查询,而不必反序列化对象。我可以提取名称,也可以提取权重,但是如果我将它们组合起来,它会作为交叉查询出现,因为我正在努力将它们定位匹配。我认为答案可能是创建两个视图,一个用于名称,一个用于权重,并将它们加入位置,但查询中不允许使用 position(),除非它类似于[position() < 6]
.