在 XML 中将数据插入到现有节点


inserting data to an existing node in xml

我是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>

我有一个这样的 xml 文件:

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

是否可以使用 PHP 文件将数据从 HTML 表单写入 XML 文件?如果是这样,任何人都可以告诉我怎么做。 我真的需要解决这个问题。

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

我全都听见了。

谢谢。。

试试这个。它假设您在表单中具有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对你很有用。看看这个: http://www.w3schools.com/xsl/