XML解析:预期的分号 - 绕过SQL

时间:2018-03-06 14:29:20

标签: sql xml xml-parsing

我知道“XML解析:预期的分号”错误是数据错误,而不是SQL错误。我试图摆脱的第一个错误是关于DTD子集的错误,所以我使用CONVERT(xml,xml_data,2),但后来我得到了这个: Msg 9411,Level 16,State 1,Line 14 XML解析:第1行,第94个字符,预期分号

我没有权限修改实际的xml。我在唠叨。它是表中的数据(具有> 100万条记录,因此我甚至不知道哪条记录引发错误),从供应商那里收到,作为对API调用的响应。我试图在存储过程中粉碎xml,以提取数据位。 有可能以某种方式绕过坏数据的记录吗?我现在不是一行一行地处理,也不是我想要的。

谢谢!

我尝试了这个,但它也不起作用:

SELECT s.id as SessionID  
, st.iD as TransmissionID  
, st.TransmissionTypeID  
, st.xml_data  
, CONVERT(xml, replace(cast(st.xml_data as varchar(max)),'&','&'), 2) as converted_xml  
, s.insertdt  
, st.responsecode  

INTO #Session_transmissions
FROM XML_Sessions s with(nolock)
    在s.id = st.tbl_Subscription_XML_SessionID上使用(nolock)加入XML_Session_Transmissions st WHERE s.insertdt> ='3/1,2018`

这是最终奏效的:

SELECT PrimaryKeyColumn, TRY_CONVERT(xml, VarcharColumn) AS XMLValue, VarcharColumn

FROM YourTable WHERE TRY_CONVERT(xml,VarcharColumn)为空 AND VarcharColumn IS NOT NULL;

0 个答案:

没有答案