从Universe数据库生成XML文档

从Universe数据库生成XML文档,xml,xslt,universe,Xml,Xslt,Universe,我需要从Universe数据库生成XML文档。 这些XML文件是SSIS包的源文件。因此,首先我必须生成XML文件。 为此,我使用以下命令。 选择前1000个 列出TOXML元素 它返回1000张唱片,很好。 我这里有一些问题, 1.如何指定仅选择满足条件的记录的条件 A.示例,其中名称如“S%”(SQL Server) 2.某些字段具有多个值,如 <RECORD> <BRANCH>A</BRANCH> <SUB_BRANCH>A1</SUB

我需要从Universe数据库生成XML文档。 这些XML文件是SSIS包的源文件。因此,首先我必须生成XML文件。 为此,我使用以下命令。 选择前1000个 列出TOXML元素 它返回1000张唱片,很好。 我这里有一些问题, 1.如何指定仅选择满足条件的记录的条件 A.示例,其中名称如“S%”(SQL Server) 2.某些字段具有多个值,如

<RECORD>
<BRANCH>A</BRANCH>
<SUB_BRANCH>A1</SUBBRANCH>
<SUB_BRANCH>A2</SUBBRANCH>
<SUB_BRANCH>A3</SUBBRANCH>
</RECORD>
<RECORD>
<BRANCH>B</BRANCH>
<SUB_BRANCH>B1</SUBBRANCH>
<SUB_BRANCH>B2</SUBBRANCH>
</RECORD>
<RECORD>
<BRANCH>C</BRANCH>
<SUB_BRANCH>C1</SUBBRANCH>
</RECORD>

A.
A1
A2
A3
B
地下一层
地下二层
C
C1
从这一点上,我想根据

如下图所示:

<RECORD>
<BRANCH>A</BRANCH>
<SUB_BRANCH>A1</SUBBRANCH>
</RECORD>
<BRANCH>A</BRANCH>
<SUB_BRANCH>A2</SUBBRANCH>
</RECORD>
<BRANCH>A</BRANCH>
<SUB_BRANCH>A3</SUBBRANCH>
</RECORD>
<RECORD>
<BRANCH>B</BRANCH>
<SUB_BRANCH>B1</SUBBRANCH>
</RECORD>
<BRANCH>B</BRANCH>
<SUB_BRANCH>B2</SUBBRANCH>
</RECORD>
<RECORD>
<BRANCH>C</BRANCH>
<SUB_BRANCH>C1</SUBBRANCH>
</RECORD>

A.
A1
A.
A2
A.
A3
B
地下一层
B
地下二层
C
C1
这可能吗


谢谢,

我不理解选择的内容,所以请在这里评论一下XSL部分。 在处理时,源XML存在一些问题。首先,您需要一个根元素来处理它。其次,您的SUB_分支似乎以SUBBRANCH(不带下划线)结束,因此您的XML无效。 假设这些是固定的:

<xsl:template match="RECORD">
    <xsl:element name="RECORD">
    <xsl:for-each select=".//SUB_BRANCH">
        <xsl:element name="BRANCH">
            <xsl:value-of select="../*"/>
        </xsl:element>
        <xsl:element name="SUB_BRANCH">
            <xsl:value-of select="node()"/>
       </xsl:element>

    </xsl:for-each>
        </xsl:element>
</xsl:template>


这是在输出时为您提供所需内容的一种方法,但我强调,只有修复源数据(如果源数据是自动生成的,无论生成的是什么),它才会起作用。

您的选择可能如下所示

选择具有字段名的文件名,如…某物。。。当mvfieldname=somethingelse时

WITH子句将处理单值字段和多值字段中子值的WHEN子句