久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

將 xml-namespaces 限制為僅主根

Limit xml-namespaces to only the main root(將 xml-namespaces 限制為僅主根)
本文介紹了將 xml-namespaces 限制為僅主根的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我有這個查詢

 WITH XMLNAMESPACES(DEFAULT 'https://tribunet.hacienda.go.cr /docs/esquemas/2017/v4.2/facturaElectronica'
                      ,'http://www.w3.org/2001/XMLSchema' AS xsd
                      ,'http://www.w3.org/2001/XMLSchema-instance' AS xsi)
SELECT 1 AS [id]
        ,0 AS [pass]
        (
         /*Others*/
        SELECT 
        OT.OTH_MESSAGE as Others
        FROM [crdx_COREDev1].[dbo].[OTH_OTHERS] as OT
        where 
        OT.OTH_ID=E.OTH_ID
        fOR XML PATH ('Others'), type

       )
      ,0 AS [CONSECUTIVE]

      FOR XML PATH('FE');

這會生成這個 XML

<FE xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xmlns="https://tribunet.hacienda.go.cr/docs/esquemas/2017/v4.2    /facturaElectronica"> <- CHANGE 2
 <id>1</id>
 <pass>0</pass>
 <CONSECUTIVE>0</CONSECUTIVE>
 <Others xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xmlns="https://tribunet.hacienda.go.cr/docs/esquemas/2017/v4.2 /facturaElectronica">
 <MESSAGE>MESSAGE</MESSAGE>       
</Others> 
 </FE>

現在我的問題:我只希望 顯示命名空間,但是 - 正如您在 xml 中看到的 - 聲明也出現在 .如何將其限制為 ?

Now my question: I would like only <FE> to show the namespaces, but - as you see in the xml - that declarations appear also in <Others>. How can I limit this to <FE>?

推薦答案

這是一個令人討厭且眾所周知的問題,每當您在 FOR XML 查詢中使用與嵌套子查詢相關的命名空間時,就會發生此問題...

This is an annoying and well known issue and occurs whenever you use namespaces in connection with nested sub-queries in FOR XML queries...

連接問題已存在 10 多年 - 直到最近消失.

There has been a connect issue for more than 10 years - until it disappaered recently.

值得一提的是,這些重復的命名空間聲明并沒有錯,只是讓您的 XML 變得臃腫.它可能會與(以)嚴格的模式驗證相沖突.

It is important to mention, that these repeated namespace declarations are not wrong, just bloating your XML. And it can collide with (to) strict schema validations.

沒有好的解決方案,只有解決方法:

No good solution, just workarounds:

  • 創建沒有命名空間的內部 XML 并在字符串基礎上添加包裝節點,或
  • 將命名空間創建為普通屬性(但未命名為 xmlns)并使用 REPLACE 更改名稱.
  • Create the inner XML without the namespace and add the wrapping node on string base, or
  • Create the namespaces as normal attributes (but not named xmlns) and use REPLACE to change the names.

兩種解決方法都需要轉換為 NVARCHAR(MAX) 并返回到 XML.

Both workarounds need a conversion to NVARCHAR(MAX) and back to XML.

我真的不知道,為什么要以這種方式實現...

I really have no idea, why this was implemented this way...

找一些相關的例子

  • 此處
  • 和此處
  • 和此處
  • 和此處

注意:

xmlns="https://tribunet.hacienda.go.cr/docs/esquemas/2017/v4.2    /facturaElectronica">

您正在使用帶空格的命名空間 URL.這是不允許的...

You are using namespace URLs with blanks. This is not allowed...

這篇關于將 xml-namespaces 限制為僅主根的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Converting Every Child Tags in to a Single Column with multiple Delimiters -SQL Server (3)(將每個子標記轉換為具有多個分隔符的單列-SQL Server (3))
How can I create a view from more than one table?(如何從多個表創建視圖?)
Create calculated value based on calculated value inside previous row(根據前一行內的計算值創建計算值)
How do I stack the first two columns of a table into a single column, but also pair third column with the first column only?(如何將表格的前兩列堆疊成一列,但也僅將第三列與第一列配對?) - IT屋-程序員軟件開發技
Recursive t-sql query(遞歸 t-sql 查詢)
Convert Month Name to Date / Month Number (Combinations of Questions amp; Answers)(將月份名稱轉換為日期/月份編號(問題和答案的組合))
主站蜘蛛池模板: 免费看黄视频网站 | 日韩在线视频一区 | 亚洲欧美精品 | 精久久久 | 国产亚洲二区 | 91久色| 第四色影音先锋 | 国产三级在线观看播放 | 欧美一区二区三 | 免费在线视频a | 91精品国产综合久久精品 | 精品日韩在线观看 | 国产精品资源在线观看 | av手机免费在线观看 | 91精品一区二区三区久久久久久 | 日韩一区精品 | 97超在线视频 | 欧美在线一区二区三区 | 国产一区二区久久久 | 久草精品视频 | 国产精品一区二区不卡 | 韩日一区二区三区 | 高清国产一区二区 | 精品国产一区二区三区久久久久久 | 色综合一区二区三区 | 1级黄色大片 | 精品国产免费一区二区三区五区 | 日本不卡高字幕在线2019 | 久久久久亚洲 | 日韩久久综合 | 国产一区二区三区视频在线观看 | 国内精品视频在线 | 亚洲精品国产a久久久久久 午夜影院网站 | 亚洲成av| 欧美日韩国产高清视频 | 日本一本在线 | 亚洲不卡在线观看 | 日日干夜夜操天天操 | 国产精品久久久久无码av | 天天亚洲 | 日韩福利 |