Php 从XML标记生成表单字段
我正试图找到一种利用PHP脚本的方法,该脚本将:Php 从XML标记生成表单字段,php,xml,forms,dynamic,input,Php,Xml,Forms,Dynamic,Input,我正试图找到一种利用PHP脚本的方法,该脚本将: 当链接指向时打开XML文档 单击该文档(从 HTML页面) 扫描XML文档中的标记 使用输入创建HTML表单 基于标记的字段 将输入数据发布回XML 在标签内(当表单 提交)并打印XML 到HTML 因此,如果我有一个如下的XML文件: <profile> Hello, my name is <name></name>. I am <age></age> years old. I l
<profile>
Hello, my name is <name></name>. I am <age></age> years old. I live in <place></place>
</profile>
你好,我的名字是。我今年岁了。我住在
单击指向该文件的链接后,PHP将生成如下表单:
<form>
Name:
Age:
Place:
</form>
姓名:
年龄:
地点:
然后在填写并提交表格后(假设此人是25岁的Joel,来自波士顿),以下内容将写入屏幕:
你好,我叫乔尔。我今年25岁。我住在波士顿
任何代码或指向优秀教程的点都将不胜感激
THX
E.如果占位符的格式始终为
,则可以使用正则表达式或简单的字符串搜索进行搜索,生成表单字段,然后对原始占位符执行字符串查找/替换以获得合并版本。这可能比通过XML解析方法更容易,因为XML标记之间的内容将被解析为内容节点
为此,我将使用一个占位符,如
%Name%
或$Name$
,而不是XML标记,因为这样您就可以使用简单的字符串匹配方法对其进行解析,而不会干扰整个XML结构。您应该为此使用XSLT
使用浏览器:
xml:
你好,我的名字是。我今年岁了。我住在
xsl:
:
输出:
<form>
<label>name: <input type="text" name="name"></label><br />
<label>age: <input type="text" name="age"></label><br />
<label>place: <input type="text" name="place"></label><br />
</form>
名称:
年龄:
地点:
您可以使用php的xsl扩展。谢谢您的提示。我理解你所说的关于使用占位符而不是标记的内容,并将记住这一点,但是,无论我使用哪种方法,我都不知道如何执行这些操作。我不太熟悉PHP或其命令/函数。因此,我真正需要知道的是从何处开始对这组特定操作进行编码。您可以从文档开始:,假设我已经花了大量时间搜索文档(官方文档和非官方文档),并且(可能是因为我自己缺乏创造力或智慧)尚未找到完成特定任务集的方法。我不想再浪费时间了,我想问一些人是否可以(不是为我编写代码,但可能使用一些语言引用)请解释这个过程在PHP可执行文件中是如何工作的;这绝对是一个正确的方向。太棒了!多么直接的回答
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="profile">
<form>
<xsl:for-each select="child::*">
<label>
<xsl:value-of select="name()"/>:
<input name="{name()}" type="text" />
</label>
<br />
</xsl:for-each>
</form>
</xsl:template>
</xsl:stylesheet>
<form>
<label>name: <input type="text" name="name"></label><br />
<label>age: <input type="text" name="age"></label><br />
<label>place: <input type="text" name="place"></label><br />
</form>