xml
  • tsql
  • 2012-09-13 49 views 1 likes 
    1

    在之前的SO帖子中:The argument 1 of the XML data type method "value" must be a string literal我找不到解決方案,但如果有人能回答這個問題,我可以解決以前的問題。是否有與本地名相似的本地路徑功能?

    問題:我如何檢索給定節點的完整路徑,以便我可以檢索給定節點的名稱?

    declare @x xml; set @x='<ROOT><a>111</a></ROOT>' 
    SELECT @x.value('local-name((/ROOT/a)[1])', 'varchar(256)') 
    

    上面將返回'a'。我該如何返回'/ ROOT/a'?

    +0

    我爲你想達到什麼真的很困惑。在這種情況下,我認爲不可能做你想做的事。 –

    +0

    @Saulius,有了這個特定的問題,我想實現的是檢索給定節點的路徑。如果我能解決這個問題,我將能夠發佈解決其他問題的解決方案 – ekkis

    回答

    0

    因爲SQL引擎不支持整個XQuery語言,所以目前沒有解決此問題的方法(從SQL Server 2008開始)。根據規範,有些功能可以用於獲取祖先,使用FLWOR可以構建路徑,但祖先功能尚未實現。可悲的。

    然而,作爲這讓我這裏開始(見我原來的SO職位)的問題 - 即找到可接受的解決方案

    相關問題