如何在 xslt/xquery 中获取元素名称
How do I get element name in xslt/xquery
例如我有这个XML
<?xml version="1.0" encoding="UTF-8"?>
<employee>
<JOHN>
<branch>0</branch>
</JOHN>
<ANDY>
<branch>0996</branch>
</ANDY>
<ADAM>
<branch>0996</branch>
</ADAM>
</employee>
如何使用 XQuery 获取每个元素的值?
我要get
JOHN
ANDY
ADAM
使用 XPath 表达式 /employee/*/name()
您将(使用 XSLT 2.0 或更高版本或 XQuery 1.0 或更高版本)获得具有元素名称的字符串序列。在 XSLT 1.0 中,您需要使用 for-each
或 apply-templates
处理 /employee/*
,然后为单独处理的每个元素输出 name()
。
所以一个完整的 XSLT 2.0 样式表是
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:template match="/">
<xsl:value-of select="/employee/*/name()"/>
</xsl:template>
</xsl:transform>
例如我有这个XML
<?xml version="1.0" encoding="UTF-8"?>
<employee>
<JOHN>
<branch>0</branch>
</JOHN>
<ANDY>
<branch>0996</branch>
</ANDY>
<ADAM>
<branch>0996</branch>
</ADAM>
</employee>
如何使用 XQuery 获取每个元素的值? 我要get
JOHN
ANDY
ADAM
使用 XPath 表达式 /employee/*/name()
您将(使用 XSLT 2.0 或更高版本或 XQuery 1.0 或更高版本)获得具有元素名称的字符串序列。在 XSLT 1.0 中,您需要使用 for-each
或 apply-templates
处理 /employee/*
,然后为单独处理的每个元素输出 name()
。
所以一个完整的 XSLT 2.0 样式表是
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:template match="/">
<xsl:value-of select="/employee/*/name()"/>
</xsl:template>
</xsl:transform>