Mam taką zawartość XML-a:
<Obj RefId="0"> <MS> <S N="Activity">Activity Name</S> <I32 N="ActivityId">4</I32> <S N="StatusDescription">Good</S> <S N="CurrentOperation">Down loading</S> <I32 N="ParentActivityId">-1</I32> <I32 N="PercentComplete">20</I32> <Obj N="Type" RefId="1"> <TN RefId="0"> <T>System.Management.Automation.ProgressRecordType</T> <T>System.Enum</T> <T>System.ValueType</T> <T>System.Object</T> </TN> <ToString>Processing</ToString> <I32>0</I32> </Obj> <I32 N="SecondsRemaining">30</I32> </MS> </Obj>
Próbuję go odczytać w taki sposób:
SELECT ws.c.value('local-name(..)', 'VARCHAR(MAX)') parentElementName, ws.c.value('local-name(.)', 'VARCHAR(MAX)') elementName ,ws.c.value('.[1]', 'VARCHAR(MAX)') elementValue FROM @xml.nodes('/*:Obj/*:MS[1]') AS ws(c)
Ale zwraca mi caly tag MS. Ja chciałbym natomiast odczytać pojedynczą wartość dla Activity, ActivityId,StatusDescription.
Jak mogę to zrobić?