我正在创建一个工具,允许某人输入食谱,然后将其保存为 XML 文件,我创建了我的 XSD,但我想知道如何在我的网页上制作一个表单,允许用户输入他们的食谱和坚持架构。我一直在研究 Ajax 和 Jquery,但我真的很困惑。任何帮助将非常感激!
缺口
我正在创建一个工具,允许某人输入食谱,然后将其保存为 XML 文件,我创建了我的 XSD,但我想知道如何在我的网页上制作一个表单,允许用户输入他们的食谱和坚持架构。我一直在研究 Ajax 和 Jquery,但我真的很困惑。任何帮助将非常感激!
缺口
你的信息有点少。所以,如果我说的很明显,我很抱歉。基本方法是创建一个实现所有数据元素的页面。使用 javascript/Jquery 来验证所需的元素。将页面发送到服务器后,读取所有元素并创建 XML 文档。
您没有指定您的服务器处理语言,但此方法可用于任何已知语言,例如 PHP、C#、VB.NET、Ruby、Perl。
根据您的选择,创建和维护页面的模板代码是更少或更多的工作。您还可以使用 XSLT 从 XSD 生成 HTML 页面。也可以使用 XSLT 读取数据。如果您使用 Smalltalk Web 应用程序框架 Seaside,页面是由代码生成的,因此只有一个地方可以维护您的应用程序。但这并没有真正广泛使用,因此可能不是一个选择。大多数其他语言使用页面模板。
您可以通过以下代码执行此操作:以下代码检查文件是否不存在,如果不存在则创建 xml,然后加载创建的 xml 文件。
string file = MapPath("~/Recepies.xml");
XDocument doc;
//Verify whether a file is exists or not
if (!System.IO.File.Exists(file))
{
doc = new XDocument(new XDeclaration("1.0", "UTF-8", "yes"),
new System.Xml.Linq.XElement("Recepies"));
}
else
{
doc = XDocument.Load(file);
}
XElement ele = new XElement("Recepie", txtRecepie.Text.Trim());
doc.Root.Add(ele);
doc.Save(file);
using (StreamWriter writer = new StreamWriter(Response.OutputStream, new UTF8Encoding(false)))
{
doc.Save(writer);
Response.ContentType = "text/xml";
Response.AddHeader("Content-disposition", "attachment;filename=file.xml");
Response.Flush();
Response.End();
}
试试这个工具http://github.com/davidmoten/xsd-forms。它基于 xsd 生成 HTML 和 JavaScript,并提交与 xsd 兼容的 XML。