Iam通过xmlsource解析SSIS中的xml文档。它没有任何根标记。因此,我试图通过XSLT将根标记添加到我的xml文档中,但得到的错误是
〔XML任务〕错误:出现错误,错误消息如下:"有多个根元素。第11行,位置2。"。
用来添加根元素的XSL是什么。?请帮忙。。这是非常紧急的。。
请在下面找到xml源
<organizational_unit>
<box_id>898</box_id>
<hierarchy_id>22</hierarchy_id>
<parent_box_id>0</parent_box_id>
<code>Team</code>
<description />
<name>CAPS Teams</name>
<manager_title />
<level>0</level>
</organizational_unit>
<organizational_unit>
<box_id>967</box_id>
<hierarchy_id>31</hierarchy_id>
<parent_box_id>0</parent_box_id>
<code>main</code>
<description />
<name>Protegent</name>
<manager_title />
<level>0</level>
<organizational_unit>
<box_id>968</box_id>
<hierarchy_id>31</hierarchy_id>
<parent_box_id>967</parent_box_id>
<code>19L</code>
<description>19L</description>
<name>19L</name>
<level>1</level>
<managers>
<manager>
<hierarchy_mgr_id>243</hierarchy_mgr_id>
<hierarchy_id>31</hierarchy_id>
<box_id>968</box_id>
<rep_id>19499</rep_id>
<unique_rep_id>100613948</unique_rep_id>
<first_name>Ed</first_name>
<last_name>Kill</last_name>
</manager>
</managers>
</organizational_unit>
<organizational_unit>
<box_id>1152</box_id>
<hierarchy_id>31</hierarchy_id>
<parent_box_id>967</parent_box_id>
<code>UNKNOWN_m</code>
<description>Unknown Reps</description>
<name>Unknown Reps</name>
<level>1</level>
</organizational_unit>
</organizational_unit>
您使用哪种XSLT处理器,如何使用它?我通常不建议使用字符串处理来构造XML,但如果您有一个没有根元素的片段,那么进行字符串连接"<root>" + fragment + "</root>"
可能是获得格式良好的文档的最简单方法。XSLT可以处理片段,但如何处理取决于您使用的XSLT处理器或XML解析器,例如,.NET可以使用XmlReader
和XmlReaderSettings
,ConformanceLevel
设置为片段,然后可以将其加载到XPathDocument
中(用于处理XSLT1.0和XslCompiledTransform
),也可能加载到Saxon的XdmNode
中(尽管我不确定我是否记得正确)。
样式表只需执行
<xsl:template match="/">
<root>
<xsl:copy-of select="node()"/>
</root>
</xsl:template>
以将所有顶级节点封装到CCD_ 8元素中。