Php 在xml中向现有节点插入数据

Php 在xml中向现有节点插入数据,php,html,sql,xml,forms,Php,Html,Sql,Xml,Forms,我对XML和PHP都是新手,但我有这个项目,这就是需要做的 我有这样一个html表单: <table> <tr> <td align="right" width="120px">First name:</td> <td><input id="txtfname" style="width: 200px" type="text" /></td> </tr> <tr&

我对XML和PHP都是新手,但我有这个项目,这就是需要做的

我有这样一个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>
<data>
    <first_name></first_name>
    <last_name></last_name>
    <business_name></business_name>
</data>

名字:
姓氏:
企业名称:
我有这样一个xml文件:

<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>
<data>
    <first_name></first_name>
    <last_name></last_name>
    <business_name></business_name>
</data>

是否可以使用php文件将html表单中的数据写入xml文件? 如果是的话,谁能告诉我怎么做。我真的需要解决这个问题

在此之后,我还需要将xml文件传输到sql数据库

我洗耳恭听


谢谢..

我认为XSLT对您很有用。检查一下:

我认为XSLT对您很有用。检查此项:

尝试此项。它假设您将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文件。希望这有帮助。

试试这个。它假设您将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文件。希望这能有所帮助。

我认为XSLT只是一个适合xml文档的样式表。我认为XSLT只是一个适合xml文档的样式表这正是我需要的。你救了我的命。不过还是问个问题。数据显示如下:匹兹堡的首席执行官俱乐部,小詹姆士。但是我需要它像我的示例代码一样显示。你真的是一个救生员。再次感谢@Pushpesh^_^谢谢这正是我需要的。你救了我的命。不过还是问个问题。数据显示如下:匹兹堡的首席执行官俱乐部,小詹姆士。但是我需要它像我的示例代码一样显示。你真的是一个救生员。再次感谢@Pushpesh^_^