使PHP中的工作的xml文件(编码正确),从在线数据库中导出数据到iPhone
我试图让一个XML文件从我的数据库中导出我的数据,我的iPhone。每次我创建一个新的岗位,我需要执行一个PHP文件来创建一个包含最新的职位的xml文件;)使PHP中的工作的xml文件(编码正确),从在线数据库中导出数据到iPhone
好了这么远? :d
这是当前的PHP代码...但我的NSXMLParser给我一个错误代码(33 - 字符串未启动)。我不知道我要使用什么样的PHP函数...
<?php
// Èdition du dÈbut du fichier XML
$xml .= '<?xml version=\"1.0\" encoding=\"UTF-8\"?>';
$sml .= '<channel>';
$xml .= '<title>Infonul</title>';
$xml .= '<link>aaa</link>';
$xml .= '<description>aaa</description>';
// connexion a la base (mettre ‡ jour le mdp)
$connect = mysql_connect('...-12','...','...');
/* selection de la base de donnÈe mysql */
mysql_select_db('...');
// selection des 20 derniËres news
$res=mysql_query("SELECT u.display_name as author,p.post_date as date,p.comment_count as commentCount, p.post_content as content,p.post_title as title FROM wp_posts p, wp_users u WHERE p.post_status = 'publish' and p.post_type = 'post' and p.post_author = u.id ORDER BY p.id DESC LIMIT 0,20");
// extraction des informations et ajout au contenu
while($tab=mysql_fetch_array($res)){
$title=$tab[title];
$author=$tab[author];
$content=$tab[content]; //html stuff
$commentCount=$tab[commentCount];
$date=$tab[date];
$xml .= '<item>';
$xml .= '<title>'.$title.'</title>';
$xml .= '<content><![CDATA['.$content.']]></content>';
$xml .= '<date>'.$date.'</date>';
$xml .= '<author>'.$author.'</author>';
$xml .= '<commentCount>'.$commentCount.'</commentCount>';
$xml .= '</item>';
}
// Èdition de la fin du fichier XML
$xml .= '</channel>';
$xml = utf8_encode($xml);
echo $xml;
// Ècriture dans le fichier
if ($fp = fopen("20news.xml",'w'))
{
fputs($fp,$xml);
fclose($fp);
}
//mysql_close();
?>
我注意到,当我在浏览器中打开20news.xml几件事情:
- 我的正方形,而不是单报价...
- 我看不到< [CDATA [但]]>是清晰可见......为什么?!?
感谢您的任何输入;)
高堤耶。
下面是我的脚本生成的示例代码;)
我复制粘贴从浏览器的源代码的代码;)
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<title>Infonul</title>
<link>aaa</link>
<description>aaa</description>
<item>
<title>Bing évolue et s'anime</title>
<content>
<![CDATA[<p style="text-align: center;"><a href="kkk"><img class="aligncenter size-medium wp-image-548" title="bing" src="http://www.infonul.com/wp-content/uploads/2010/03/bing-300x213.png" alt="" width="300" height="213" /></a></p>
Vous êtes de plus en plus à l'utiliser, ce moteur de recherche lancé par Microsoft évolue dans sa version française pour ressembler un peu plus à la version US.<!--more--> Comment ? A travers les images de fond qui avaient déjà pour habitude de changer chaque jour vous pourrez maintenant "interagir" avec l'image sur certains points qui pointent sur un site en rapport direct avec l'illustration. Une façon un peu original de présenter le moteur de recherche.]]>
</content>
<date>2010-03-03 23:23:15</date>
<author>kkk kk</author>
<commentCount>0</commentCount>
</item>
<item>
<title>Du quadruple play chez Orange ?</title>
<content>...</content><date>2010-02-28 20:32:13</date><author>...</author><commentCount>0</commentCount>
</item>
</channel>
好的,这里是解决方案,我只需要添加下面的代码: $ dom-> createCDATASection(utf8_encode($ tab ['content'])) – gotye 2010-03-13 15:54:47
<?xml version="1.0" encoding="UTF-8"?>
<news>
<item>
<author>...</author>
<title>Bing �volue et s'anime</title>
<content><![CDATA[<p style="text-align: center;"><a href="..."><img class="aligncenter size-medium wp-image-548" title="bing" src="http://www.infonul.com/wp-content/uploads/2010/03/bing-300x213.png" alt="" width="300" height="213" /></a></p>
Vous �tes de plus en plus � l'utiliser, ce moteur de recherche lanc� par Microsoft �volue dans sa version fran�aise pour ressembler un peu plus � la version US.<!--more-->�Comment ? A travers les images de fond qui avaient d�j� pour habitude de changer chaque jour vous pourrez maintenant "interagir" avec l'image sur certains points�qui pointent sur�un site�en rapport direct avec l'illustration. Une fa�on un peu original de pr�senter le moteur de recherche.]]></content>
</item>
<item>
<author>...</author>
<title>Du quadruple play chez Orange ?</title>
<content><![CDATA[<p style="text-align: center;"><a href="http://www.infonul.com/wp-content/uploads/2010/03/logo_orange_print1.gif"><img class="aligncenter size-full wp-image-543" title="orange logo" src="http://www.infonul.com/wp-content/uploads/2010/03/logo_orange_print1.gif" alt="" width="207" height="207" /></a></p>
�
Vous en r�viez ? C'est pour bient�t ! A l'annonce de ses r�sultats pour 2009, le groupe en a profit� pour laisser passer quelques messages � ce sujet.<!--more-->�En effet, Free s'appr�te � d�barquer sur le march� mobile et - il faut le dire - Orange ne propose�RIEN d'avantageux si vous avez votre box et votre mobile chez eux contrairement � Bouygues qui propose ses formules IDEO � des tarifs comp�titifs !Pour quand ? "D�ici � l'�t�"... Affaire � suivre.]]></content>
</item>
</news>
这就是我开始使用DOMXML在PHP5 ......我的PHP脚本低于)
<?php
//phpinfo();
$dom = new DOMdocument('1.0', 'UTF-8');
$dom->formatOutput = true;
$r = $dom->createElement('news');
$dom->appendChild($r);
// connexion a la base (mettre ‡ jour le mdp)
$connect = mysql_connect('...-12','...','...');
/* selection de la base de donnÈe mysql */
mysql_select_db('...');
// selection des 20 derniËres news
$res=mysql_query("SELECT u.display_name as author,p.post_date as date,p.comment_count as commentCount, p.post_content as content,p.post_title as title FROM wp_posts p, wp_users u WHERE p.post_status = 'publish' and p.post_type = 'post' and p.post_author = u.id ORDER BY p.id DESC LIMIT 0,20");
// extraction des informations et ajout au contenu
while($tab=mysql_fetch_array($res)){
$b = $dom->createElement("item");
$author = $dom->createElement("author");
$author->appendChild(
$dom->createTextNode($tab['author'])
);
$b->appendChild($author);
$title = $dom->createElement("title");
$title->appendChild(
$dom->createTextNode($tab['title'])
);
$b->appendChild($title);
$content = $dom->createElement("content");
$content->appendChild(
$dom->createCDATASection($tab['content'])
);
$b->appendChild($content);
$r->appendChild($b);
}
echo $dom->saveXML();
?>
如果你表现出你的PHP代码,正是因为它出现在自己的文件,你可以尝试将线读取
$sml .= '<channel>';
改变
$xml .= '<channel>';
看起来你错过了起始标记,它错误地分配给了一个不同的变量。
Claus
谢谢,我自己找到了解决办法...我需要添加一个特定的代码行中我的PHP脚本正确编码它;) – gotye 2010-03-13 16:22:30
你能举一个实际生成的XML文件的例子吗? – 2010-03-13 12:45:21