Динамически выбирать узлы в Xpath в SQL Server 2008

#sql-server-2008 #xpath

#sql-сервер-2008 #xpath

Вопрос:

У меня есть следующий XML для анализа в SQL Server 2008

 <Root>
  <Document>
    <Body>
      <Component>
      </Component>
    </Body>
  </Document>
</Root>
  

Я хочу получить все <Component> теги в моем xml, проблема в том, что <Document> иногда тег может не приходить, поэтому мой запрос xpath (root / document / body) не будет работать. Есть ли способ, которым я могу получить все <Component> теги независимо от наличия <Document> тега?

Ответ №1:

Вы всегда можете использовать запрос XPath для

 //component
  

чтобы получить все <component> элементы во всем вашем документе — независимо от того, где они находятся и какие другие теги есть вокруг него

Комментарии:

1. Или вот так, если вы хотите быть немного более конкретным. /Root//Body/Component