草庐IT

Linq2Sql

全部标签

sql-server - 将两个 xml 片段合并为一个?

如何将@a和@b的xml内容合并到@c中?declare@axml=(select1aaaforxmlpath('AAAs'));declare@bxml=(select1bb1,2bb2forxmlpath('BBBs'));declare@cxml=...@a+@b....?我需要将合并后的xml传递给存储过程。我知道可以将xml转换为varchar并连接它们并将其转换回xml。有更好的方法吗?xml内容可能很大。 最佳答案 好的,我找到了一个方法select@a,@bforxmlpath('')

SQL Server FOR XML Path 使重复节点

我想使用SQLServer2012生成以下输出:123来自同一个表中的三个不同列(我们称它们为col1、col2和col3)。我正在尝试使用此查询:SELECTt.col1as'item',t.col2as'item',t.col3as'item'FROMtbltFORXMLPATH('parent'),TYPE但我得到的是:123我在这里做错了什么? 最佳答案 添加一个值为NULL的列,为每一列生成一个单独的项目节点。SELECTt.col1as'item',NULL,t.col2as'item',NULL,t.col3as'it

sql - 无法将 'WITH XMLNAMESPACES...FOR XML PATH' 的输出设置为变量?

我有如下查询:;WITHXMLNAMESPACES(DEFAULT'http://www.somewhere.com')SELECT('SOMETHING')FORXMLPATH('RootNode'),TYPE运行这个工作正常。但是,当我尝试将XML输出设置为这样的变量时遇到了麻烦:DECLARE@MYXMLASXMLSELECT@MYXML=(;WITHXMLNAMESPACES(DEFAULT'http://www.somewhere.com')SELECT('SOMETHING')FORXMLPATH('RootNode'),TYPE)这只是给我一个语法错误:-(任何关于如何实

c# - 使用 linq 将数据添加到现有的 xml 文件

我是.net初学者。我需要向xml文件中添加一些数据xml文件是:---1stlevel/*idontwanttocreatethisbecausethisexists*/--2ndlevelToothpasteColgate1210ToothpastePepsodent2012我需要添加productname-->Toothpastebrandname-->CloseUpquantity-->16price-->15到他们各自的标签。我现在面临的问题是我需要深入两层来写入它们各自的标签,我不知道该怎么做。我试过下面的代码:(不工作)XDocumentdoc=newXDocument(

xml - 如何在 PowerShell 中编写 Xml.linq?

我正尝试在PowerShell中执行此操作:XDocumentdocument=XDocument.Load(@"web.config");varcomments=document.Descendants("client").DescendantNodes().OfType().ToArray();foreach(varcommentincomments){XElementunCommented=XElement.Parse(comment.Value);comment.ReplaceWith(unCommented);}我试过这样的:$xDoc=[System.Xml.Linq.XD

sql-server - 使用 TSQL 从 XML 中删除具有特定值的节点

我正在尝试解析一段XML并删除包含特定值的节点。如果值是准确的,我知道如何删除它们,但我想使用类似“包含”的东西。这适用于完全删除:update@XMLsetdata.modify('delete//Message[text()="customerhasdeletedtheiraccount"]')但我想删除“消息”节点仅包含文本的位置,例如:update@XMLsetdata.modify('delete//Message[contains(text(),"customer")]')但是这会返回错误:XQuery[@XML.data.modify()]:'contains()'req

sql - 命名 TSQL 的 XML 结果列 "for xml explicit"?

我有一个使用forxmlexplit的查询来返回XML结果。选择...从...按[BatchType!1!TypeName]、[FormType!2!TypeName]、Tag、Parent排序对于xml显式,root('ClientImages')但是结果列名的名称和有没有办法更改列名?[答案]我有几个嵌套的WITH语句,所以我保存了查询结果,而没有将FORXMLEXPLICIT应用到临时表@xmlTable中,然后设置将XMLEXPLICIT结果转换为XML,然后将其返回。declare@xmlResultxmlset@xmlResult=(select*from@xmlTable

C# - 使用 Linq 选择 XML 后代

我有以下XML结构:11ת"א24אבטליון我想用Linq遍历name节点。我试过这个:varitems=(fromiindoc.Descendants("row")selectnew{Text=i.Value}).ToList();但它没有按照我需要的方式工作。有什么建议吗? 最佳答案 varitems=doc.Descendants("field").Where(node=>(string)node.Attribute("name")=="Name").Select(node=>node.Value.ToStrin

sql - 更新 SQL Server 中的空 XML 标记

我正在尝试更新sqlserver上我的Xml字符串中的空XML标记;它说当我运行以下脚本时该行已更新,但是当我查看XML时;什么都没有改变:Declare@newValuevarchar(100)select@newValue='01'updatedbo.UploadReportsetXmlTest.insert('replacevalueof(/CodeFiveReport/Owner/AgencyID/text())[1]withsql:variable("@newValue")')whereid='myId'之后的xml在数据库中还是这样显示我做错了什么?我试过@AgencyID

sql-server - 如何获取 sql server XML 列的 xml 安全版本

有没有办法在sqlserver中获取xml列的xml安全版本?我所说的xml-Safe是指转义特殊字符,如、'、&等。我想避免自己进行替换。sqlserver中是否有内置函数。我想实现的是将xml内容存储到另一个xml属性中。 最佳答案 这不是这个问题的直接答案,但对于任何试图在TSQL中对字符串进行xml转义的人来说,这是我写的一个小函数:CREATEFUNCTIONescapeXml(@xmlnvarchar(4000))RETURNSnvarchar(4000)ASBEGINdeclare@returnnvarchar(400