2012-05-07 7 views
1

Я новичок в XML и PHP, но у меня есть этот проект, и это то, что нужно сделать.Вставка данных в существующий узел в xml

У меня есть HTML форма, как это:

<table> 
    <tr> 
    <td align="right" width="120px">First name:</td> 
    <td><input id="txtfname" style="width: 200px" type="text" /></td> 
    </tr> 
    <tr> 
    <td align="right">Last name:</td> 
    <td><input id="txtlname" style="width: 200px" type="text" /></td> 
    </tr> 
    <tr> 
    <td align="right">Business name:</td> 
    <td><input id="txtbisname" style="width: 200px" type="text" /></td> 
    </tr> 
</table> 

и у меня есть файл XML, как это:

<data> 
    <first_name></first_name> 
    <last_name></last_name> 
    <business_name></business_name> 
</data> 

является возможность использовать файл PHP для записи данных из HTML формы в XML-файл? Если да, то кто-нибудь может рассказать мне, как это сделать. Мне действительно нужно решить эту проблему.

После этого мне также нужно перенести xml-файл в базу данных sql.

Я все уши.

Спасибо ..

ответ

1

Попробуйте это. Предполагается, что у вас есть таблица HTML в форме и отправьте ее на сервер.

<?php 
$str = '<?xml version="1.0" encoding="utf-8"?><data></data>'; 
$xml = simplexml_load_string($str); 

$fname = trim($_POST[ 'txtfname' ]); 
$lname = trim($_POST[ 'txtlname' ]); 
$bname = trim($_POST[ 'txtbisname' ]); 

$fname = htmlentities($fname, ENT_COMPAT, 'UTF-8', false); 
$lname = htmlentities($lname, ENT_COMPAT, 'UTF-8', false); 
$bname = htmlentities($bname, ENT_COMPAT, 'UTF-8', false); 

$xml->addChild('first_name', $fname); 
$xml->addChild('last_name', $lname); 
$xml->addChild('business_name', $bname); 

$doc = new DOMDocument('1.0'); 
$doc->formatOutput = true; 
$doc->preserveWhiteSpace = true; 
$doc->loadXML($xml->asXML(), LIBXML_NOBLANKS); 
$doc->save('data.xml'); 
?> 

Теперь, data.xml является xml-файлом. Надеюсь это поможет.

+0

Спасибо.^_^Это то, что мне нужно. Вы спасли мою жизнь. – Chum

+0

Быстрый вопрос. данные отображаются следующим образом James Jr. Генеральный директор клуба Питтсбурга. Но мне нужно, чтобы он отображался как тот, что был на моем примере кода. – Chum

+0

См. Мой ответ на вопрос. –

0

Я думаю, что XSLT вам подходит. Проверьте это: http://www.w3schools.com/xsl/

+0

Я думал, что XSLT - это просто таблица стилей, подходящая для документов xml. – Chum

Смежные вопросы