草庐IT

Linq-to-SQL

全部标签

sql - XML 到 SQL Server 解析问题

我正在解析XML并尝试获取节点的所有属性/值。declare@XBLxml='JasonRoyKevin'SELECT[Type]=XC.value('(@type)[1]','varchar(25)'),[Name]=XC.value('(../Employee)[1]','varchar(30)')FROM@XBL.nodes('Root/Department/Employees/Employee')ASXTbl(XC)上述查询的输出为我提供了所有属性,但只有第一个值(Jason)。TypeNametempJasonpermJasontemp2Kevin预期输出:TypeNamet

xml - LINQ to XML 和 Distinct 自定义类

我有一个非常有趣的LINQ问题。我有一个文档,我正在尝试过滤结果,但为了过滤,我匹配来自XML的一个元素的REGEX结果。我有以下内容,使用LINQtoXML来获取我正在寻找的个人数据。DimoDocumentAsXDocumentoDocument=XDocument.Load("test.xml")Dimresults=(FromxInoDocument.Descendants.Elements("ROW")_SelectNewWith{.ApplicationName=GetApplicationName(x.Element("Message")),_.EventId=x.Ele

xml - 在 VB.NET 中使用 LINQ to XML 更新 XML 元素

我正在尝试更新以下XML文档中的元素:代码如下:DimxmldocAsXDocument=XDocument.Load(theXMLSource1)DimqlAsXElement=(FromlsInxmldoc.Elements("LabService")_WhereCType(ls.Element("ServiceType"),String).Equals("Scan")_Selectls.Element("Price")).FirstOrDefaultql.SetValue("23")xmldoc.Save(theXMLSource1)这是XML文件:Copy1PrintBlack

sql - 在 T-SQL 中选择 XML 节点作为 XML

这个看起来很简单,但我一定漏掉了什么......给定这个SQL:declare@xmlXMLset@xml='MattSmithJohnDoe'您将如何获得包含以下内容的表格:people----------------------------------------------------------------------\nMatt\nSmith\n\nJohn\nDoe\n即:获取整个节点作为nvarchar(NNN)元素,而不仅仅是它们的名称、属性或值?我已经尝试过使用node()、text()、fn:node()、fn:text()、blahblah等等……还没完!

sql-server - 在 SQL Server XML 数据类型查询中使用命名空间时出现问题

背景见这个问题:SQLServerXMLDataTypequeryissue我正在尝试查询SQLServer2005中的XML对象。当XML中没有定义命名空间时,查询工作正常。但是,当命名空间元素存在时,我似乎无法获取节点元素的值。这是一个例子:DECLARE@xmlWithNameSpaceXMLDECLARE@xmlWithoutNameSpaceXMLSET@xmlWithNameSpace='4444'SET@xmlWithoutNameSpace='4444'SELECTfeed.product.value('@id[1]','INT')ASproductIdFROM@xml

sql - 在关系数据库中存储 XML 数据的常见问题是什么?

关于开始于thisquestion的讨论,我决定将其作为社区维基问题提出。因此,问题的根源在于,将XML数据存储在关系数据库中是否合适?通常有更好的方法来实现相同的目标吗?哪些数据库引擎对XML数据类型(例如SQLServer)提供了良好的支持,所谓的“XML索引”存在哪些问题? 最佳答案 数据库是用来存储数据的。XML是数据。因此,在适当的情况下,将XML存储在数据库中是完全有效的。这是否是最有效的做法取决于许多可能无法一概而论的因素。例如,如果您有一个表示对象的结构化XML文档(例如:书店中的一本书),那么解析数据并将其存储在专

sql-server - XQuery 在单个 SQL 更新命令中添加或替换属性

我有一个带有XML列的表,我想更新xml以插入属性或更改属性值(如果属性已存在)。假设起始xml是:插入:UPDATETablesetXmlCol.modify('insertattributeatt{"1"}into/d[1]')改变:UPDATETablesetXmlCol.modify('replacevalueof/d[1]/@attwith"1"')如果属性已经存在,插入将失败,如果属性不存在,替换将失败。我曾尝试使用“if”,但我认为它行不通,出现错误:“XQuery[modify()]:‘attribute’附近的语法错误,应为‘else’。”如果尝试UPDATETabl

c# - Linq to XML 加入并添加数据?

给定这样的XML:123还有一个包含此数据的IEnumerable:[0]={Id=1,Data=429}[1]={Id=2,Data=271}[2]={Id=3,Data=328}是否有一种优雅的方式使用LINQtoXML将IEnumerable数据与基于通用Id的XML连接起来,而无需单独查询每个元素以链接数据?所以结果看起来像这样:142922713328我唯一能想到的就是这样,但我希望有一个更简洁的方法:foreach(vardinMyIEnumerable){XElementelement=(fromxinMyXDoc.Elements("Element")wherex.El

xml - 在 SQL Server 2008 R2 中压缩 XML 列

在SQLServer2008R2标准版中是否有直接压缩XML数据类型列的方法?我的约束是:SQLServer2008R2标准版;必须将原始XMl存储在数据库中;我之前问过一个关于广义文本存储的类似问题CompressingatextfieldinSqlServer2k8R2其结果是使用FILESTREAMS。如果我在这里这样做,虽然我会失去SQLServer公开的所有XML功能,但我想利用这些功能。 最佳答案 您始终可以将XML存储为NVARCHAR,然后在针对首先将数据转换为XML的列的View上使用XML功能。但是,您必须权衡运

sql - 获取 sql 列使用的 XML 模式

我想从SQL语句中选择分配给SQLServer数据库中xml列的xml模式。我被卡住了,我查看了information_schema.columns没有运气,我只能改变它。在ManagementStudio中,在XmlTypeSpecification下的列属性中,我可以设置(方案集合)我想简单地从SQL语句中选择它。感谢您的帮助。 最佳答案 像这样的东西应该可以做到。selectC2.namefromsys.columnsasC1innerjoinsys.xml_schema_collectionsasC2onC1.xml_col