Sql server 在SQL Server中选择XML节点

Sql server 在SQL Server中选择XML节点,sql-server,xml,Sql Server,Xml,嗨,我需要通过从子节点选择值来填充表 XML看起来像这样 <Transmitters> <Id>1</Id><CoverageLevel>2</CoverageLevel> <Id>2</Id><CoverageLevel>4</CoverageLevel> <Id>3</Id><CoverageLevel>6</CoverageLev

嗨,我需要通过从子节点选择值来填充表

XML看起来像这样

<Transmitters>
  <Id>1</Id><CoverageLevel>2</CoverageLevel>
  <Id>2</Id><CoverageLevel>4</CoverageLevel>
  <Id>3</Id><CoverageLevel>6</CoverageLevel>
</Transmitters>

但是它不起作用?

您的XML格式对于此类任务不是很好-您在
中没有任何可以依赖的可用子节点

如果您的XML如下所示:

<Transmitters>
  <Transmitter>
    <Id>1</Id><CoverageLevel>2</CoverageLevel>
  </Transmitter>
  <Transmitter>
    <Id>2</Id><CoverageLevel>4</CoverageLevel>
  </Transmitter>
  <Transmitter>
    <Id>3</Id><CoverageLevel>6</CoverageLevel>
  </Transmitter>
</Transmitters>
掌握你的价值观

您没有这样做-您只有单个
内部-没有“容器”XML标记将属于一起的元素放在一起

实际上没有XPath允许您正确枚举这些节点

<Transmitters>
  <Transmitter>
    <Id>1</Id><CoverageLevel>2</CoverageLevel>
  </Transmitter>
  <Transmitter>
    <Id>2</Id><CoverageLevel>4</CoverageLevel>
  </Transmitter>
  <Transmitter>
    <Id>3</Id><CoverageLevel>6</CoverageLevel>
  </Transmitter>
</Transmitters>
@otherTransmitter.nodes('/Transmitters/Transmitter') AS ParamValues(T)