我想知道如何将XML文件中的数据导入SQL中的表中。我想将数据导入的表格如下所示。
CREATE TABLE PRODUCTINFORMATION
(EAN INT,
Brand VARCHAR(30),
Model VARCHAR(30),
Size VARCHAR(5),
Price INT,
Currency VARCHAR(3)
);
所以我有一个包含大量此类数据和其他数据的XML文件,但我只想从EAN,品牌,型号,尺寸,价格和货币中导入数据。但是如何制作导入脚本呢?
抱歉,如果我无法显示整个XML数据,因为它是保密的。但它看起来像这样:
<Lines>
<Line>
<LineNo></LineNo>
<EANNo></EANNo>
<CustomerItemNo />
<ItemNo></ItemNo>
<Description></Description>
<Description2></Description2>
<GrossWeight></GrossWeight>
<NetWeight></NetWeight>
<UnitVolume></UnitVolume>
<UnitofMeasure></UnitofMeasure>
<UnitPrice></UnitPrice>
<EarliestDeliveryDate></EarliestDeliveryDate>
<LatestDeliveryDate></LatestDeliveryDate>
<StyleNo></StyleNo>
<Style></Style>
<ColourNo></ColourNo>
<Colour></Colour>
<SizeNo></SizeNo>
<Size></Size>
<MinimumQuantity></MinimumQuantity>
<BrandCode></BrandCode>
<BrandName></BrandName>
<SeasonCode></SeasonCode>
<RetailPrice></RetailPrice>
<LineDiscountPct></LineDiscountPct>
<NetUnitPrice></NetUnitPrice>
<SupplierArticleGroup></SupplierArticleGroup>
<Material />
<PLUText />
<CountryOfOrigin></CountryOfOrigin>
<SeasonText></SeasonText>
<Tariffno></Tariffno>
<SerialNumber />
<Width></Width>
<Height></Height>
<Deph></Deph>
<FreeText />
<References />
</Line>
<Line>
答案 0 :(得分:0)
你需要在这里做两件事......
此here
上有一篇非常好的帖子答案 1 :(得分:0)
你好Nikolai Lindholm,
请。检查下面的一小段代码,它可以帮助您导入xml数据。
CREATE PROC DEMO @XMLDATA XML
AS
BEGIN
DECLARE @Hdoc INT;
EXEC SP_XML_PREPAREDOCUMENT
@Hdoc OUTPUT,
@XMLDATA;
INSERT INTO PRODUCTINFORMATION
SELECT XML.EAN,
XML.Brand,
XML.Model,
XML.Size,
XML.Price,
XML.Currency
FROM OPENXML(@Hdoc, '/XML/Line', 2) WITH(EAN INT, Brand VARCHAR(30), Model VARCHAR(30), Size VARCHAR(5), Price INT, Currency VARCHAR(3)) XML;
END;