有効なxhtmlでないコンテンツに対してXMLParseを使用しようとしています。 HTMLコードでは、タグは正しく終了していません。それらを終了させるために、replace関数を使用して無効なコードを見つけ出し、適切に終了したコードに置き換えます。そうすることで、私のアプリケーションでエラーが発生し、メタタグが無効であることがわかります:有効なXMLをColdFusion XMLParseで作成する
XML文書の解析中にエラーが発生しました。
エレメントタイプ "meta"は、一致する終了タグ ""で終わらなければなりません。
私が検証しようとしているコードは次のとおりです。
<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のソースを何とかしっかりとコントロールしてくれることを願っています。もしそうでなければ、このアプローチは確実に頭痛の原因になります。 –