我想使用xslt从给定的xml文件中删除元数据和架构信息,以便我可以在sql表中导入这些数据,但我无法从xml文件中删除它的元数据和架构信息。 实际上我在过去三天里做过很多谷歌,但我无法表现。请提供一个有效的xslt文件代码,用于从给定的xml文件中删除元数据和模式。
我在这里为您提供xml文件的代码。
<?xml version="1.0" encoding="utf-16"?>
<DataSet>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Table">
<xs:complexType>
<xs:sequence>
<xs:element name="lukas_id_nagrody" type="xs:string" minOccurs="0" />
<xs:element name="ilosc" type="xs:int" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<NewDataSet>
<Table diffgr:id="Table1" msdata:rowOrder="0">
<lukas_id_nagrody>10</lukas_id_nagrody>
<ilosc>4</ilosc>
</Table>
<Table diffgr:id="Table2" msdata:rowOrder="1">
<lukas_id_nagrody>12</lukas_id_nagrody>
<ilosc>10</ilosc>
</Table>
<Table diffgr:id="Table3" msdata:rowOrder="2">
<lukas_id_nagrody>21</lukas_id_nagrody>
<ilosc>32</ilosc>
</Table>
<Table diffgr:id="Table4" msdata:rowOrder="3">
<lukas_id_nagrody>32</lukas_id_nagrody>
<ilosc>13</ilosc>
</Table>
<Table diffgr:id="Table5" msdata:rowOrder="4">
<lukas_id_nagrody>33</lukas_id_nagrody>
<ilosc>15</ilosc>
</Table>
<Table diffgr:id="Table6" msdata:rowOrder="5">
<lukas_id_nagrody>34</lukas_id_nagrody>
<ilosc>2</ilosc>
</Table>
</NewDataSet>
</diffgr:diffgram>
</DataSet>
我在SSIS中使用xml任务。
转换上面的xml数据后,我想要输出。
<NewDataSet>
<Table>
<lukas_id_nagrody>34</lukas_id_nagrody>
<ilosc>2</ilosc>
</Table>
</NewDataSet>
我想输出这样的东西。 感谢。
答案 0 :(得分:1)
您需要一个简化的身份/复制模式,从NewDataSet
开始并省略属性。试试这个:
<xsl:template match="DataSet/diffgr:diffgram/NewDataSet|DataSet/diffgr:diffgram/NewDataSet//*|text()">
<xsl:copy>
<xsl:apply-templates select='*|text()' />
</xsl:copy>
</xsl:template>
Runnable demo (请参阅输出来源)