XML解析错误:为什么要使用分号?

时间:2016-10-27 23:33:06

标签: sql-server xml openrowset

我是一个努力尝试将XML从外部第三方导入SQL Server的新手。我使用下面的XML尝试了这个SQL,它使用" XML解析:第10行,第81行,分号预期"在Name标签的中间 - 为什么?为什么它会在值的中间期望分号?有什么建议??提前谢谢!

CREATE TABLE XMLD (Id INT IDENTITY PRIMARY KEY, XMLData XML)

INSERT INTO XMLD(XMLData) SELECT CONVERT(XML, BulkColumn) AS BulkColumn FROM OPENROWSET(BULK 'D:\Details-WaUSA-1027.xml', SINGLE_BLOB) AS x;
  

错误:XML解析:第10行,第81个字符,预期分号

<OnlineReport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="1.0" From="10/27/2016" To="10/27/2016" xsi:noNamespaceSchemaLocation="Responses.xsd"> <Site ID="130421" Name="Prod-B2B-PC-Server"> <Responses/> </Site> <Site ID="130739" Name="Prod-B2B-PC-Item"> <Responses> <Response> <ID>86947636057</ID> <Name> https://store.shop4e.com/node/Shop4e/index.php?route=product/product&product_id=18922&userId=150802 </Name> <URL/> <Monitoring-Date-Time>10/27/2016 12:45:39 PM</Monitoring-Date-Time> <ResponseStartTime>2016-10-27 12:45:39.170</ResponseStartTime> <Duration>7954</Duration> <Status>S</Status> <Monitoring-Location>WA, USA</Monitoring-Location> </Site> </OnlineReport>

1 个答案:

答案 0 :(得分:7)

<Name> https://store.shop4e.com/node/Shop4e/index.php?route=product/product&product_id=18922&userId=150802 </Name>

&product_id.....中有一个无效的XML实体。它缺少终止分号。

您需要将原始&替换为&amp;或将文本换行到CDATA部分。

值得注意的特殊字符是<>&