XML解析:格式良好的检查:未声明的实体

时间:2011-10-26 14:12:51

标签: sql xml

我正在使用SSMS 2008,我收到以下错误。你知道这意味着什么吗?

Msg 9448, Level 16, State 1, Line 4
XML parsing: line 1, character 89, well formed check: undeclared entity

以下是导致此错误的代码:

DECLARE @t TABLE (j VARCHAR(MAX))
insert into @t
SELECT 
z.MyXml.value('.','NVARCHAR(MAX)') value
FROM  [evolv_cs].[dbo].[progress_note] 
CROSS APPLY (SELECT CAST([progress_note].[note_text] AS XML) [MyXml]) z

我也尝试过这个查询,但错误结果相同:

SELECT 
z.MyXml.value('.','NVARCHAR(MAX)') value
INTO #TEMP_PN
FROM  [evolv_cs].[dbo].[progress_note] 
CROSS APPLY (SELECT CAST([progress_note].[note_text] AS XML) [MyXml]) z

以下是应用此XML语句之前的一些示例数据:

<DIV class=gc-message-sms-row><SPAN class=gc-message-sms-from>TLS: </SPAN><SPAN class=gc-message-sms-text>Hi Reggie... I'm on my way to Lynn.. see you soon</SPAN> <SPAN class=gc-message-sms-time>3:09 PM </SPAN></DIV>
<P>List the intervention targeted from the Intermediary Goal: </P> <P>1. To review on call procedure with family.</P> <P>Interventions attempted during the session to target PCP goal(s):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P> <P><SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 9pt; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">Counselor attempted to call mother; however received an automated message stating this number is temporarily out of service.</SPAN>&nbsp;&nbsp; </P> <P>Effectiveness of Intervention: </P> <P>Not applicable as family was not available for session.</P> <P>Describe safety plan/PCP crisis plan review (reminder - any modification requires new signatures and safety plans need to be reviewed at a minimum monthly)</P> <P>Not applicable as family was not available for session.</P> <P>Therapeutic Homework Assignment (assignment should relate to intervention and be agreed upon by counselor and family):</P> <P>Not applicable as family was not available for session.</P>
This specialist spoke with Kayla in an attempt to schedule a session for this week.&nbsp; Kayla agreed to meet with this specialist on Friday at 10:30am.&nbsp; This specialist asked Kayla about the upcoming meeting with DCF and Kayla stated that it is about her coming transition, but did not want to discuss it further.&nbsp; Kayla asked if this specialist would meet with her on Monday as well, to take her downtown to go to a meeting at a modeling agency.&nbsp; This specialist stated that this specialist could meet with Kayla prior to that appointment, and then drop Kaya off at the appointment.&nbsp;
<P style="MARGIN: 0in 0in 0pt" class=MsoNormal><B><SPAN style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: black; FONT-SIZE: 9pt">Purpose of Contact:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></B></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><SPAN style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: black; FONT-SIZE: 9pt">To coordinate with Structured Day Program Director and notify her that faxed has been sent to refer client to program for summer.<B><o:p></o:p></B></SPAN></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><B><SPAN style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: black; FONT-SIZE: 9pt"><o:p>&nbsp;</o:p></SPAN></B></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><B><SPAN style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: black; FONT-SIZE: 9pt">Description of Contact:<o:p></o:p></SPAN></B></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><SPAN style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: black; FONT-SIZE: 9pt"><o:p>&nbsp;</o:p></SPAN></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><SPAN style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: black; FONT-SIZE: 9pt">Counselor spoke with program director to verify she received referral form for client.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Director confirmed that she received clients referral form but reported that due to the waiting list being so long that client would more than likely not be able to attend program for the summer, but would keep client on waiting list and notify counselor if a slot becomes available.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;</SPAN><B><o:p></o:p></B></SPAN></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><B><SPAN style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: black; FONT-SIZE: 9pt"><o:p>&nbsp;</o:p></SPAN></B></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><B><SPAN style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: black; FONT-SIZE: 9pt">Relationship between contact description and treatment goals:<o:p></o:p></SPAN></B></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><SPAN style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: black; FONT-SIZE: 9pt">An increase in communication between counselor and director will lead to a collaborative treatment approach and improvement in client's referral behaviors. </SPAN><SPAN style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt"><o:p></o:p></SPAN></P> <P style="MARGIN: 0in 0in 0pt" class=MsoNormal><o:p><FONT size=3 face=Calibri>&nbsp;</FONT></o:p></P>
<P style="BACKGROUND: white"><SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">List the intervention targeted from the Intermediary Goal: The mother will assess what is working well in her home to assist the client with decreasing her referral behaviors.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></P> <P style="BACKGROUND: white"><SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">Interventions attempted during the session to target PCP goal(s):&nbsp;&nbsp;The counselor met with the&nbsp;mother and the client in the home for a face to face session. The counselor noted that the client and the mother were working together to complete household chores. The counselor asked the family to assess if the time frames to complete the chores id effective for the family. The mother and the client reported that the time&nbsp;frames to complete chores are effective. The counselor asked the mother to identify&nbsp;what is effective to assist the client with maintaining her decreased negative behaviors. The mother reported that by educating the client on her expectations and allowing her to make the choice to comply is effective. The counselor and family role played communicating the expectations. The counselor noted that the mother will give the client a directive and allow her a time frame to complete the directive. The client stated that now that her mother leaves her alone once she tells her what to do allow her time to process what her mother wants her to do. The client reported that she does not get upset anymore because she can complete the task&nbsp;within the time frame.<o:p></o:p></SPAN></P> <P style="BACKGROUND: white"><SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">The counselor and family reviewed personal safety and the court recommendations for the client's protective supervision. The client stated that she is&nbsp;aligned with the&nbsp;following through with the recommendations even while she is on her missions' trip.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <o:p></o:p></SPAN></P> <P style="BACKGROUND: white"><SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">Effectiveness of Intervention: The intervention appeared to be effective as evidenced by the family's willingness to identify barriers that may prevent them from follow through with identified contingences in the home.<o:p></o:p></SPAN></P> <P style="BACKGROUND: white"><SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">Describe safety plan/PCP crisis plan review (reminder - any modification requires new signatures and safety plans need to be reviewed at a minimum monthly) The&nbsp;family and counselor reviewed to client's safety plan. No barriers or breakdowns were identified at this time.&nbsp;<o:p></o:p></SPAN></P> <P style="BACKGROUND: white"><SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">Therapeutic Homework Assignment (assignment should relate to intervention and be agreed upon by counselor and family): The mother was asked to review the safety plan with identified supports. The client as asked to follow through with obtaining contact numbers for her new peers from church.<o:p></o:p></SPAN></P> <P style="MARGIN: 0in 0in 10pt" class=MsoNormal><o:p><FONT size=3 face=Calibri>&nbsp;</FONT></o:p></P>

我完成了Ahmed所引用的教程,但我还没有找到如何将HTML DTD合并到我的SQL代码中。我当然看到这在HTML文件中是如何工作的。

所以我尝试通过TSQL用“”替换所有“”事件,但这给了我一个不同的错误:“XML解析:第2行,字符127,字符串文字是预期的”。我仍然更喜欢使用HTML DTD。我怎么用上面的tsql代码呢?

第2行是指什么?如果它是指这个示例代码,那么它对我没有意义。在替换上面的示例数据中的所有实例之后,我查看了第2行,它与此示例数据的第2行相同。字符127 =“干预”中的“v”

3 个答案:

答案 0 :(得分:9)

我认为XML数据中的实体引用&nbsp;不正常,因为系统找不到名为nbsp的实体。这通常来自HTML,而不是裸XML。因此,您必须在DTD中使用HTML DTDs或手动定义该实体,就像在HTML中完成一样,或者只是在对数据执行XML处理之前以文本方式过滤数据。

如果您使用DTD,您只需写入:

<!ENTITY nbsp "&#160;">

如果您不使用它们,只需用字符引用&nbsp;替换所有实体引用&#160;

答案 1 :(得分:2)

XML只有五个字符实体引用:&lt; &gt; &apos; &quot; &amp;。您正在使用的那个&nbsp;是HTML - 但不是XML - 字符实体引用。不过,您可以写&#160;(十进制)或&#xA0;(十六进制)。

答案 2 :(得分:2)

:-)不用担心..好的问题是(如下面的Ikuty所指出的)XML不理解实体...命名实体就像嵌套替换(将它们视为C中的#defines)DTD (文档类型定义)实际上会将命名实体映射到目标字符集中的特定字符......这样,如果更改字符集,则可以更改DTD中的实体定义,并且文档仍然可以。所以.....nbsp被映射到UTF-8中的非破坏空间字符#160 ...这里有一个关于这个主题的很好的入门:Making NBSP work with XML ...你可以找到一步一步{ {3}} XML Tutorial。希望这有助于作为一个起点: - )