小编Nar*_*mar的帖子

在 SQL 中从 XML 获取值时添加分隔符

我有以下 XML 代码片段,我正在尝试使用 SQL Server 以表格格式读取它。

declare @ProductXML varchar(max);
set @ProductXML = '<hashtable>   <entry>
    <string>host</string>
    <string-array>
      <string>csdfs</string>
    </string-array>
  </entry>
 <entry> <string>dom</string><map-array>
      <map>
        <entry>
          <string>thirdlevelentrey</string>
          <vector>
            <string>1in</string>
            <string>2in</string>
            <string>3in</string>
            <string>4in</string>
            <string>5in</string>
          </vector>
        </entry>
      </map>
    </map-array></entry>
</hashtable>'

DECLARE @xml xml

SELECT @xml = CAST(CAST(@ProductXML AS VARBINARY(MAX)) AS XML)

SELECT  
    x.Rec.query('./string').value('.', 'nvarchar(50)') AS 'Product Name', 
    x.Rec.query('./vector/string').value('.', 'nvarchar(50)') AS 'Product TLDs' 
FROM 
    @xml.nodes('/hashtable/entry/map-array/map/entry') AS x(Rec)
Run Code Online (Sandbox Code Playgroud)

我正面临第二列的问题 Product TLDs。在向量下的多行值合并为单个文本。我希望它们带有分隔符或分隔文本,以便以后使用时可以识别它们。

如果有人可以帮助我放置分隔符或定界符,例如 1in|2in|3in……

或者是否可以在将第三级条目视为表的子表中。

xml t-sql sql-server xpath xquery

3
推荐指数
1
解决办法
1213
查看次数

Range类的AutoFill方法失败

我在尝试使用C#自动填充excel时遇到"Range类失败的自动填充方法"COM异常.需要您的帮助才能解决此问题.因为我尝试了多种方法来实现它但失败了.

Microsoft.Office.Interop.Excel.Range oRange = null;
oRange = workSheet.get_Range("E7");
oRange.AutoFill(workSheet.get_Range("E130", "E131"));
Run Code Online (Sandbox Code Playgroud)

我用错误的方式调用它吗?

如果您有替代方案,请提出建议.

c# excel

2
推荐指数
1
解决办法
1332
查看次数

标签 统计

c# ×1

excel ×1

sql-server ×1

t-sql ×1

xml ×1

xpath ×1

xquery ×1