如何使用Javascript或PhP替换XML中的无效字符
需要以下方面的帮助: 运行PhP、javascript、MySQL和XML 1) 从MySQL检索文件并将其存储到XML文件中。如何使用Javascript或PhP替换XML中的无效字符,php,javascript,xml,Php,Javascript,Xml,需要以下方面的帮助: 运行PhP、javascript、MySQL和XML 1) 从MySQL检索文件并将其存储到XML文件中。 2) 使用javascript函数加载XML文件(存储这些数据)。 3) 它在XML文件中生成无效字符 步骤1:PhP中的代码示例->加载MySQL DB以将数据存储到XML文件中 $file= fopen("MapDeals2.xml", "w"); $_xml ="<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\
2) 使用javascript函数加载XML文件(存储这些数据)。
3) 它在XML文件中生成无效字符 步骤1:PhP中的代码示例->加载MySQL DB以将数据存储到XML文件中
$file= fopen("MapDeals2.xml", "w");
$_xml ="<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n";
$_xml .="<MAP>\n";
while($row1_ThisWeek = mysql_fetch_array($result1_ThisWeek)) {
$rRName = $row1_ThisWeek['Retailer_Name'];
$rRAddress = $row1_ThisWeek['Retailer_Address1'];
$rRAddressPostCode = $row1_ThisWeek['Retailer_AddressPostCode1'];
//} commented out from the original
$_xml .= "<DEAL>\n";
$_xml .= "<DealDescription>" . $d_Description . "</DealDescription>\n";
$_xml .= "<DealURL>" . $d_URL . "</DealURL>\n";
$_xml .= "<DealRName>" . $rRName . "</DealRName>\n";
$_xml .= "<DealRAddress>" . $rRAddress . "</DealRAddress>\n";
$_xml .= "<DealRPostCode>" . $rRAddressPostCode . "</DealRPostCode>\n";
$_xml .= "</DEAL>\n";
}
//} commented out from the original
$_xml .="</MAP>\n";
fwrite($file, $_xml);
fclose($file);
$file=fopen(“mapdelas2.xml”,“w”);
$\u xml=“\n”;
$\u xml.=“\n”;
而($row1\u ThisWeek=mysql\u fetch\u数组($result1\u ThisWeek)){
$rRName=$row1_ThisWeek['Retailer_Name'];
$rRAddress=$row1_ThisWeek['Retailer_Address1'];
$rRAddressPostCode=$row1_ThisWeek['Retailer_AddressPostCode1'];
//}从原文中注释掉
$\u xml.=“\n”;
$\u xml.=“”$d_描述。“\n”;
$\u xml.=“”$d_URL。“\n”;
$\u xml.=“”$我的名字。“\n”;
$\u xml.=“”$地址。“\n”;
$\u xml.=“”$rRAddressPostCode。“\n”;
$\u xml.=“\n”;
}
//}从原文中注释掉
$\u xml.=“\n”;
fwrite($file,$\uxml);
fclose($文件);
步骤2:Javscript中的代码示例->加载XML文件
xhttp.open("GET","Test2.xml", false);
xhttp.send("");
xmlDoc=xhttp.responseXML;
var x=xmlDoc.getElementsByTagName("Employee");
parser = new DOMParser();
xmlDoc = parser.parseFromString("MapDeals2.xml", "text/xml");
for (i=0;i<x.length;i++)
{
// alert ('Generating FOR loop');
var d1 = x[i].getElementsByTagName("EmployeeDescription")[0].childNodes[0].nodeValue;
var e1 = "<br></br>";
.
.
.
}
xhttp.open(“GET”,“Test2.xml”,false);
xhttp.send(“”);
xmlDoc=xhttp.responseXML;
var x=xmlDoc.getElementsByTagName(“员工”);
parser=新的DOMParser();
xmlDoc=parser.parseFromString(“mapdelas2.xml”、“text/xml”);
对于(i=0;i这可能是一个字符集问题。你的MySQL连接编码为iso-8859-1或类似的东西,而XML应该是UTF8格式。你必须在某个地方转换它。你的代码乱七八糟。在试图清理它时,它的右大括号比右大括号多了两个。我已将它们注释掉。如果出现这种情况,请编辑你的问题“编辑”与您的代码不匹配。