I'm trying to analyse a quite complex (and unfortunately mainly undocumented) XML document via SA's OpenXML() operator.
While it's easy to return all nodes with a particular value, I need to get to know their according absolute pathes.
Is there a way to do so, except recursively accessing the parent node? (With DOM, I would use the getNodePath() function.)
The XPath 3 path() function would help here but seems to be unsupported with v16:
select * from openxml(using value varXml, '//*') with (ID int '@mp:id', ElementName long varchar '@mp:localname', ParentElementName long varchar '../@mp:localname', -- I'd prefer not to need to extend that to further levels... GrandParentElementName long varchar '../../@mp:localname', ElementText long varchar 'text()', -- ElementPath long varchar 'path()', -- not supported ElementXmlText long varchar '@mp:xmltext') DT where ElementText = <desired value="">;
asked 03 Mar, 09:44