任何人都可以帮我将以下数据转换为表格式。
<people>
<person>
<name>John Doe</name>
<age>21</age>
</person>
<person>
<name>Jane Smith</name>
<age>24</age>
</person>
</people>
提前致谢
答案 0 :(得分:1)
以下是如何从XML获取数据的方法。您可以将查询用作表的insert语句的源。
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
答案 1 :(得分:0)
您可以尝试使用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中以查看结果。