pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

  • <legend id='HuEyg'><style id='HuEyg'><dir id='HuEyg'><q id='HuEyg'></q></dir></style></legend>
      <bdo id='HuEyg'></bdo><ul id='HuEyg'></ul>
  • <i id='HuEyg'><tr id='HuEyg'><dt id='HuEyg'><q id='HuEyg'><span id='HuEyg'><b id='HuEyg'><form id='HuEyg'><ins id='HuEyg'></ins><ul id='HuEyg'></ul><sub id='HuEyg'></sub></form><legend id='HuEyg'></legend><bdo id='HuEyg'><pre id='HuEyg'><center id='HuEyg'></center></pre></bdo></b><th id='HuEyg'></th></span></q></dt></tr></i><div class="r7vr5dn" id='HuEyg'><tfoot id='HuEyg'></tfoot><dl id='HuEyg'><fieldset id='HuEyg'></fieldset></dl></div>
  • <tfoot id='HuEyg'></tfoot>

    1. <small id='HuEyg'></small><noframes id='HuEyg'>

        如何使用 for 循環使用 XQuery 刪除 xml 節點

        How to using for loop using XQuery to delete xml nodes(如何使用 for 循環使用 XQuery 刪除 xml 節點)

          <legend id='5aFt3'><style id='5aFt3'><dir id='5aFt3'><q id='5aFt3'></q></dir></style></legend>
          • <small id='5aFt3'></small><noframes id='5aFt3'>

          • <tfoot id='5aFt3'></tfoot>
              <bdo id='5aFt3'></bdo><ul id='5aFt3'></ul>
              <i id='5aFt3'><tr id='5aFt3'><dt id='5aFt3'><q id='5aFt3'><span id='5aFt3'><b id='5aFt3'><form id='5aFt3'><ins id='5aFt3'></ins><ul id='5aFt3'></ul><sub id='5aFt3'></sub></form><legend id='5aFt3'></legend><bdo id='5aFt3'><pre id='5aFt3'><center id='5aFt3'></center></pre></bdo></b><th id='5aFt3'></th></span></q></dt></tr></i><div class="hjjpr5b" id='5aFt3'><tfoot id='5aFt3'></tfoot><dl id='5aFt3'><fieldset id='5aFt3'></fieldset></dl></div>
                  <tbody id='5aFt3'></tbody>

                1. 本文介紹了如何使用 for 循環使用 XQuery 刪除 xml 節點的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  限時送ChatGPT賬號..

                  我在 SQL 存儲過程中有一個 XML 參數 @Xml,如下所示:

                  I have an XML parameter @Xml in SQL Stored procedure like below:

                      <Root>
                     <Data>
                       <Id>1</Id>
                       <Name>Kevin</Name>
                       <Des>Des1</Des>
                     </Data>
                     <Data>
                       <Id>2</Id>
                       <Name>Alex</Name>
                       <Des>Des2</Des>
                     </Data>
                     <Data>
                       <Id>3</Id>
                       <Name>Amy</Name>
                       <Des>Des3</Des>
                     </Data>
                   </Root>
                  

                  現在,我想刪除這個xml中的幾個節點,過濾器是這樣的(Id = 2 AND Name = 'Alex') OR (Id = 3 AND Name = 'Amy'),我不想使用 Cursor 或類似的東西,只需使用一個腳本來完成它,我正在盡我所能,但我無法得到答案,有人可以幫助我嗎?提前致謝!!!

                  now, I want to delete several nodes in this xml, the filter is like this (Id = 2 AND Name = 'Alex') OR (Id = 3 AND Name = 'Amy'), I don't want to use Cursor or something like this, just using one single script to do it, I am try to my best for this, but I can't get the answer, anybody can help me ? Thanks in advance!!!

                  輸出應該是:

                      <Root>
                     <Data>
                       <Id>1</Id>
                       <Name>Kevin</Name>
                       <Des>Des1</Des>
                     </Data>
                   </Root>
                  

                  PS:過濾器是一個#table,那么,實際的問題是,如何刪除包含在#table中的XML中的特定記錄?

                  PS: the filter is a #table, so, the actually question is , how to remove the specific records in XML which contains in #table?

                  Id    Name
                  2     Alex
                  3     Amy
                  

                  <小時>

                      Declare @Xml XML
                  set @Xml = '<Root>
                     <Data>
                       <Id>1</Id>
                       <Name>Kevin</Name>
                       <Des>Des1</Des>
                     </Data>
                     <Data>
                       <Id>2</Id>
                       <Name>Alex</Name>
                       <Des>Des2</Des>
                     </Data>
                     <Data>
                       <Id>3</Id>
                       <Name>Amy</Name>
                       <Des>Des3</Des>
                     </Data>
                   </Root>'
                  
                  create TABLE #tempResult 
                  (
                      Id Int,
                      Name Varchar(10)
                  )
                  
                  insert into #tempResult
                  values(2, 'Alex'), (3, 'Amy')
                  
                  SET @Xml = (
                  SELECT Node.value('Id[1]','int') AS PId, Node.value('Name[1]','Varchar(10)') AS PName 
                  FROM @Xml.nodes('//Data') AS T(Node)
                  OUTER APPLY (
                      SELECT tr.Id, tr.Name
                      FROM #tempResult tr
                      WHERE Node.value('Id[1]','int') = tr.Id and Node.value('Name[1]','Varchar(10)') = tr.Name
                  ) a
                  WHERE a.Id IS NULL
                  FOR XML PATH(''), TYPE
                  )
                  
                  select @Xml
                  drop table #tempResult
                  

                  我得到了這樣的結果1凱文

                  I got results like this 1 Kevin

                  但我需要整個xml包含根節點:

                  But I need the the whole xml contains Root node:

                      <Root>
                    <Data>
                      <Id>1</Id>
                      <Name>Kevin</Name>
                      <Des>Des1</Des>
                    </Data>
                  </Root>
                  

                  我怎樣才能達到這個目標?有什么幫助嗎?我是 SQL 到 XML 的新手,請幫助我!!!

                  How can I reach this? Any help? I am an new leaner for SQL to XML, please help me !!!

                  推薦答案

                  我得到了答案,謝謝大家

                  I got the answer, thanks all you guys

                      declare @xml xml
                      set @xml = '<Root><Header>123</Header><Data><Id>1</Id><Name>Kevin</Name><Des>Des1</Des></Data><Data><Id>2</Id><Name>Alex</Name><Des>Des2</Des></Data><Data><Id>3</Id><Name>Amy</Name><Des>Des3</Des></Data><Tail>456</Tail></Root>'
                      --set @xml.modify('delete /Root/Data[(Id[.=1] and Name[.="Kevin"]) or (Id[.=2] and Name[.="Alex"])]')
                      select @xml
                      declare @parameter XML
                      set @parameter = (SELECT Node.value('(Id)[1]', 'Int') AS Id,
                                              Node.value('(Name)[1]', 'Varchar(10)') AS Name
                                      FROM @xml.nodes('Root/Data') TempXML(Node)
                                      WHERE Node.value('(Id)[1]', 'Int') != 3
                                      for xml path('Root'), TYPE)
                      --select @parameter
                      declare @sql nvarchar(max)
                      set @sql = convert(nvarchar(max), 
                       @parameter.query('for $i in (/Root) return concat("(Id[.=", 
                                                                              string($i/Id[1]),
                                                                              "] and Name[.=""", 
                                                                              string($i/Name[1]),
                                                                              """]) or")')
                                                                              )
                      set @sql = '['+substring(@sql,0,len(@sql)-2)+']'
                      set @sql = 'set @xml.modify(''delete /Root/Data'+@sql+''')'
                      select @sql
                      exec sp_executesql @sql, N'@xml xml output', @xml output
                      select @xml
                  

                  這篇關于如何使用 for 循環使用 XQuery 刪除 xml 節點的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

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

                  相關文檔推薦

                  SQL query to get all products, categories and meta data woocommerce/wordpress(獲取所有產品、類別和元數據的 SQL 查詢 woocommerce/wordpress)
                  Can I figure out a list of databases and the space used by SQL Server instances without writing SQL queries?(我可以在不編寫 SQL 查詢的情況下找出數據庫列表和 SQL Server 實例使用的空間嗎?) - IT屋-程序員軟件開發
                  How to create a login to a SQL Server instance?(如何創建對 SQL Server 實例的登錄?)
                  How to know the version and edition of SQL Server through registry search(如何通過注冊表搜索知道SQL Server的版本和版本)
                  Why do I get a quot;data type conversion errorquot; with ExecuteNonQuery()?(為什么會出現“數據類型轉換錯誤?使用 ExecuteNonQuery()?)
                  How to show an image from a DataGridView to a PictureBox?(如何將 DataGridView 中的圖像顯示到 PictureBox?)
                      <bdo id='vTB1D'></bdo><ul id='vTB1D'></ul>
                      1. <tfoot id='vTB1D'></tfoot>

                        <small id='vTB1D'></small><noframes id='vTB1D'>

                            <tbody id='vTB1D'></tbody>

                          1. <i id='vTB1D'><tr id='vTB1D'><dt id='vTB1D'><q id='vTB1D'><span id='vTB1D'><b id='vTB1D'><form id='vTB1D'><ins id='vTB1D'></ins><ul id='vTB1D'></ul><sub id='vTB1D'></sub></form><legend id='vTB1D'></legend><bdo id='vTB1D'><pre id='vTB1D'><center id='vTB1D'></center></pre></bdo></b><th id='vTB1D'></th></span></q></dt></tr></i><div class="thfdz57" id='vTB1D'><tfoot id='vTB1D'></tfoot><dl id='vTB1D'><fieldset id='vTB1D'></fieldset></dl></div>
                            <legend id='vTB1D'><style id='vTB1D'><dir id='vTB1D'><q id='vTB1D'></q></dir></style></legend>
                          2. 主站蜘蛛池模板: 国资灵活用工平台_全国灵活用工平台前十名-灵活用工结算小帮手 | 领袖户外_深度旅游、摄影旅游、小团慢旅行、驴友网 | 防火门|抗爆门|超大门|医疗门|隔声门-上海加汇门业生产厂家 | 四川成人高考_四川成考报名网 | TPE_TPE热塑性弹性体_TPE原料价格_TPE材料厂家-惠州市中塑王塑胶制品公司- 中塑王塑胶制品有限公司 | 整合营销推广|营销网络推广公司|石家庄网站优化推广公司|智营销 好物生环保网、环保论坛 - 环保人的学习交流平台 | 青岛空压机,青岛空压机维修/保养,青岛空压机销售/出租公司,青岛空压机厂家电话 | 合肥弱电工程_安徽安防工程_智能化工程公司-合肥雷润 | 河北中仪伟创试验仪器有限公司是专业生产沥青,土工,水泥,混凝土等试验仪器的厂家,咨询电话:13373070969 | 【电子厂招聘_普工招工网_工厂招聘信息平台】-工立方打工网 | 陕西高职单招-陕西高职分类考试网| 合肥仿石砖_合肥pc砖厂家_合肥PC仿石砖_安徽旭坤建材有限公司 | 探伤仪,漆膜厚度测试仪,轮胎花纹深度尺厂家-淄博创宇电子 | 传动滚筒_厂家-淄博海恒机械制造厂| 泥沙分离_泥沙分离设备_泥砂分离机_洛阳隆中重工机械有限公司 | 缠绕机|缠绕膜包装机|缠绕包装机-上海晏陵智能设备有限公司 | 吸污车_吸粪车_抽粪车_电动三轮吸粪车_真空吸污车_高压清洗吸污车-远大汽车制造有限公司 | 山东齐鲁漆业有限公司【官网】-工业漆专业生产厂家 | 胶水,胶粘剂,AB胶,环氧胶,UV胶水,高温胶,快干胶,密封胶,结构胶,电子胶,厌氧胶,高温胶水,电子胶水-东莞聚力-聚厉胶粘 | 全自动翻转振荡器-浸出式水平振荡器厂家-土壤干燥箱价格-常州普天仪器 | 仿真植物|仿真树|仿真花|假树|植物墙 - 广州天昆仿真植物有限公司 | 干粉砂浆设备-干粉砂浆生产线-干混-石膏-保温砂浆设备生产线-腻子粉设备厂家-国恒机械 | 干洗店加盟_洗衣店加盟_干洗店设备-伊蔻干洗「武汉总部」 | 电磁辐射仪-电磁辐射检测仪-pm2.5检测仪-多功能射线检测仪-上海何亦仪器仪表有限公司 | 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | 购买舔盐、舔砖、矿物质盐压块机,鱼饵、鱼饲料压块机--请到杜甫机械 | Boden齿轮油泵-ketai齿轮泵-yuken油研-无锡新立液压有限公司 | 祝融环境-地源热泵多恒系统高新技术企业,舒适生活环境缔造者! | 甲级防雷检测仪-乙级防雷检测仪厂家-上海胜绪电气有限公司 | elisa试剂盒-PCR试剂盒「上海谷研实业有限公司」 | 杭州代理记账多少钱-注册公司代办-公司注销流程及费用-杭州福道财务管理咨询有限公司 | 标策网-专注公司商业知识服务、助力企业发展 | led全彩屏-室内|学校|展厅|p3|户外|会议室|圆柱|p2.5LED显示屏-LED显示屏价格-LED互动地砖屏_蕙宇屏科技 | 塑料撕碎机_编织袋撕碎机_废纸撕碎机_生活垃圾撕碎机_废铁破碎机_河南鑫世昌机械制造有限公司 | 精密机械零件加工_CNC加工_精密加工_数控车床加工_精密机械加工_机械零部件加工厂 | 德州网站开发定制-小程序开发制作-APP软件开发-「两山开发」 | 岩石钻裂机-液压凿岩机-劈裂机-挖改钻_湖南烈岩科技有限公司 | 杜康白酒加盟_杜康酒代理_杜康酒招商加盟官网_杜康酒厂加盟总代理—杜康酒神全国运营中心 | 药品冷藏箱厂家_低温冰箱_洁净工作台-济南欧莱博电子商务有限公司官网 | 耐磨焊丝,堆焊焊丝,耐磨药芯焊丝,碳化钨焊丝-北京耐默公司 | 成都装修公司-成都装修设计公司推荐-成都朗煜装饰公司 |