ich eine Tabelle MyTable
mit einer XML-Spalte MyXmlField
wie folgt aus:Ersetzen Sie Attributnamen in SQL Server XML
<Root>
<Node Type="type1" position="0"/>
<Node Type="type2" position="2"/>
<Node Type="type3" position="4"/>
<Node Type="type4" position="2"/>
<Node Type="type5" position="4"/>
<Node Type="type6" position="0"/>
</Root>
Das Type
Attribut hat einen Wert, der einen beliebigen Wert zwischen denjenigen sein können:
type1, type2, type3, type4, type5, type6.
Das Positionsattribut hat einen Wert, der eine beliebige ganze Zahl sein kann.
Was möchte ich mit einem XQuery zu tun ist, Attribut zu aktualisieren Type
jedes Elements Node
wie folgt zusammen:
- der Namensänderung von
Type
zuIdentifier
So endlich, würde ich gerne haben:
<Root>
<Node Identifier="type1" position="0"/>
<Node Identifier="type2" position="2"/>
<Node Identifier="type3" position="4"/>
<Node Identifier="type4" position="2"/>
<Node Identifier="type5" position="4"/>
<Node Identifier="type6" position="0"/>
</Root>
Ich bin ein Anfänger mit XQ Sehr gut, und ich sehe nicht, wie man es richtig macht, außer alles in varchar
umzuwandeln und einen Ersatz zu machen. Gerade jetzt, ich bin nur in der Lage, jeden Wert mit 6 fest codierten Anfragen wie folgt abfragen:
/Root/Node[@Type=type1)]/text())[1]