XML to MySQL

123
BV
На сайте с 23.05.2007
Offline
7
#11

Николай В., не знаю, просто я наверно в программировании консерватор, с трудом перехожу на новые примочки (тяжелое детство, спектрум и радио 86), а со всеми возможностями 5 версии наверно еще не знаком

39 == 0 || 0 == 39?
Dreammaker
На сайте с 20.04.2006
Offline
569
#12

Я работаю на пятёрке. Хоть встроенный функционал отличный, но я использую врапперы типа array2xml и xml2sql и так далее. Вот как раз готовые классы такого типа затачивал под нужды.

BV
На сайте с 23.05.2007
Offline
7
#13

вообще, со своей "старперской" колокольни мне, в ситуации топикстартера, проще (точно зная структуру XML файлов) накатать для файлов

<xml>
<subj>bla-bla-bla</subj>
<text>bla-bla
bla-bla "b-b-b-b-b"
</text>
</xml>
что нибудь типа:
<?
$dir = opendir(".");
$out = fopen("dump.sql", "w+");
while(($xml = readdir($dir))){
if(preg_match("/^(.*?)\.xml$/", $file))
$in = fopen($file, "r");
while(!feof($file)){
$str = preg_replace(array("/\r/", "\n/"), "", fgets($file));
if(preg_match("/\<subj\>(,*?)\<\/subj\>/", $str, $temp)){
fputs($out, "INSERT INTO tablename (subject, text) VALUES('");
fputs($out, preg_replace(array("/\"/", "/\'/"),
array("\\\"", "\\\'"), $temp[1]));
fputs($out, "', '");
}
if(preg_match("/<text>(.*?)/", $str, $temp)){
fputs($out, preg_replace(array("/\"/", "/\'/"),
array("\\\"", "\\\'"), $temp[1]));
}
if(!preg_match("/\<(.*)\>/", $str)){
fputs($out, " " . preg_replace(array("/\"/", "/\'/"),
array("\\\"", "\\\'"), $str));
}
}
fputs($out, "');\n");
fclose($file);
}
}
fclose($out);
closedir($dir);
?>

PS. Вышеуказанный код не проверялся на работоспособность, написан практически в форме "быстрого ответа"

taljanich
На сайте с 03.04.2007
Offline
121
#14

To ALL

Огромное всем спасибо от SEO индустрии, осталось решить, как реализовать решение возникшей проблемы:)

Ayavryk
На сайте с 11.10.2003
Offline
209
#15

В MySQL5 встроена ограниченная поддержка XML

http://dev.mysql.com/doc/refman/5.1/en/xml-functions.html

Тынгыр, мынгыр, комсомол (http://erum.ru). Ехари, ехари, (жалобно) аяврик. /народная тунгусская песня/
K
На сайте с 12.07.2006
Offline
295
Kpd
#16

Зачем извращаться, если даже PHP4 замечательно парсит xml? XML Element Structure Example

BV
На сайте с 23.05.2007
Offline
7
#17

taljanich

структуру XML покажи, можешь сбросить в личку.

короче нужна структура XML и структура баз, с вордпрессом не работаю, поэтому посмотреть негде, скинешь, накатаю скриптик, тупой и простой

DmitryShustov
На сайте с 27.11.2004
Offline
259
#18

Мой разбощик XML.

Пример XSL

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:output method="xml" encoding="Cp1251" omit-xml-declaration="yes" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" indent="no"/>
<xsl:template match="/">
<xsl:apply-templates select="//category"/>
</xsl:template>
<xsl:template match="category">
<xsl:value-of select="@id"/>-<b><xsl:value-of select="."/></b>
</xsl:template>
<xsl:template match="/">
<xsl:apply-templates select="//offer"/>
</xsl:template>
<xsl:template match="offer">
INSERT INTO `tempor` (`ddd`,`ddd`,`ddd`,`ddd`,`ddd`) VALUES('1','<xsl:value-of select="@id"/>','<xsl:value-of select="mmm"/>','<xsl:value-of select="vvvv"/>', '<xsl:value-of select="ppppp"/>', '<xsl:value-of select="ppppp"/>', '<xsl:value-of select="ppppp"/>', '<xsl:value-of select="ddddd"/>') ||
</xsl:template>
</xsl:stylesheet>

Разборщик на PHP5

// Load the XML source

$xml = new DOMDocument;
$xml->load('list.xml');
//echo $xml->saveXML();


$xsl = new DOMDocument;
$xsl->load('template.xsl');

// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules
$proc->setParameter(null, "titles", "Titles");


//echo $proc->transformToXML($xml);

$pieces = explode("||", $proc->transformToXML($xml));

// закидываем в SQL
foreach ($pieces as $sql) mysql_query($sql);
S
На сайте с 13.07.2007
Offline
56
#19

А насколько это подгружает проц?

taljanich
На сайте с 03.04.2007
Offline
121
#20

be@ver,

у меня есть вот такие и вот такие xml'ки. Скинул обе, т.к. не знаю какая тебе нужна:)

txt xml.example.txt
txt xml.example1.txt
123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий