скрыть данные XML в таблицу - PullRequest
       0

скрыть данные XML в таблицу

0 голосов
/ 05 августа 2011

Может ли кто-нибудь помочь мне преобразовать приведенные ниже данные в табличный формат.

<people>      
    <person>         
        <name>John Doe</name>     
        <age>21</age>         
    </person>        
    <person>             
        <name>Jane Smith</name>             
        <age>24</age>        
        </person>    
</people> 

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 05 августа 2011

Вот как вы можете получить данные из XML. Вы можете использовать запрос в качестве источника для оператора вставки в таблицу.

declare @xml xml = 
'<people>      
    <person>         
        <name>John Doe</name>     
        <age>21</age>         
    </person>        
    <person>             
        <name>Jane Smith</name>             
        <age>24</age>        
    </person>    
</people>'

select T.X.value('name[1]', 'varchar(50)') as Name,
       T.X.value('age[1]', 'int') as Age      
from @xml.nodes('/people/person') as T(X)

Результат:

Name                                               Age
-------------------------------------------------- -----------
John Doe                                           21
Jane Smith                                         24
0 голосов
/ 05 августа 2011

Вы можете попробовать XSLT для стилизации ваших XML-данных.Сохраните это astest.xml:

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<people>      
    <person>         
        <name>John Doe</name>     
        <age>21</age>         
    </person>        
    <person>             
        <name>Jane Smith</name>             
        <age>24</age>        
        </person>    
</people> 

Сохраните это в test.xsl:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <html>
  <body>
    <table border="1">
      <tr bgcolor="#9acd32">
        <th>name</th>
        <th>age</th>
      </tr>
      <xsl:for-each select="people/person">
        <tr>
          <td><xsl:value-of select="name"/></td>
          <td><xsl:value-of select="age"/></td>
        </tr>
      </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>

Затем перетащите XML в IE, чтобы увидеть результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...