Etiketleri arasında bilgi tut

4 Cevap php

Ben etiketleri arasına sarılmış verileri içeren bir metin dosyası var. Etiketleri:

<title>
<url>
<pubDate>

Yani, kayıtlar şöyle:

<title>title 1</title>
<url>url 1</url> 
<pubDate>pubDate 1</pubDate>

<title>title 2</title>
<url>url 2</url> 
<pubDate>pubDate 2</pubDate>

<title>title 3</title>
<url>url 3</url> 
<pubDate>pubDate 3</pubDate>

Ben bu metin dosyasını okur ve her öğe bir veritabanına eklenecek hazırlayan bir komut dosyası gerekir. Sorgu aşağıdaki gibi görünecektir:

insert into table (title,url,pubdate) values ($title,$url,$pubdate)....

4 Cevap

Neden '&lt;' ile değil, sadece '<' vardır?

Sadece '&lt;' tüm dönüştürmek ve '&gt;' < 've' > 'sonra gibi bir şey üzerinden atmak XML::Simple Perl.

Ya SimpleXML PHP5'ta http://php.net/simplexml

@ Rascher XML varlıkları için "XML değişmezleri" dönüştürme herhangi bir sorun olmamalıdır.

&lt; title &gt; C &gt; Java &lt; /title &gt;

Kodlanmış olacak gibi:

&lt; title &amp;gt; C &gt; Java &lt; /title &gt;

Ve XML varlıkları çözme geçerli XML üretecektir.

Sen Text::Balanced bakmak isteyebilirsiniz. Bu ana hatlarıyla tam olarak sorunu çözer "extract_tagged" bir işlevi vardır.

Bu kullanabilirsiniz. Sen Basit XML sınıfı ile RSS okuyabilirsiniz

$data = file_get_contents('http://www.example.com/path-to-feed.xml');
$xml = new SimpleXMLElement($data);

foreach($xml->feed as $feed){
	echo $feed->title;
	echo '<br />';
	echo $feed->url;
	echo '<br />';
	echo $feed->pubDate;
	echo '<br />';
}