我正在尝试使用XMLParse来对付无效的xhtml内容。在html代码中,标签没有正确终止。为了终止它们,我使用替换函数来查找无效代码,并用正确终止的代码替换它。在这样做时,我的应用程序出错,并告诉我该元标记无效:使用ColdFusion创建有效的XML XMLParse
解析XML文档时发生错误。
元素类型“元”必须由匹配的结束标记“”终止。
我试图验证码:
<html>
<head>
<title>Impart Client Interface</title>
<link href="side_panel.css" rel="stylesheet" type="text/css">
<link href="default.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="data_tables.css" rel="stylesheet" type="text/css">
<link href="xp_button.css" rel="stylesheet" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
我在CF已经创建试图处理是这样的:
<cfset xml = objResponse.FileContent>
<cfset page.content = '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">'>
<cfset page.updatedcontent = replace('#page.content#','8859-1','8859-1" />"','')>
<Cfset page.link = 'type="text/css">'>
<cfset page.updatedLink = replace('#page.link#', 'css">', 'css" />', 'all')>
<cfset validXML = replace(#xml#, "#page.content#", "#page.updatedContent#", "")>
<cfset validXML = replace(#xml#, "#page.link#", "#page.UpdatedLink#", "all")>
<cfoutput>#validXML#</cfoutput>
<cfset parsethis = xmlparse(validXML)>
<cfdump var="#parsethis#">
我怎样才能解决这个问题?
我希望你对这个(x)HTML的来源有一个稳固的控制 - 如果不是的话,这种方法肯定会成为头痛的源头。 – 2012-01-13 19:38:49