从XSD创建Web表单,然后输出xml表单

时间:2013-11-13 10:40:20

标签: javascript jquery ajax xml xsd

我正在创建一个允许某人输入食谱然后保存为XML文件的工具,我创建了我的XSD,但我想知道如何在我的网页上创建一个允许用户输入的表单他们的食谱并坚持架构。我一直在研究Ajax和Jquery,但我真的很困惑。任何帮助将不胜感激!

尼克

3 个答案:

答案 0 :(得分:1)

您的信息有点小。所以,如果我说明了我明显的抱怨。 基本方法是创建一个实现所有数据元素的页面。使用javascript / Jquery验证所需的元素。将页面发送到服务器后,读取所有元素并创建XML文档。

您没有指定服务器处理语言,但此方法可以与任何已知语言一起使用,例如PHP,C#,VB.NET,Ruby,Perl。

根据您的选择,创建和维护页面的模板代码的工作量越来越少。您还可以使用XSLT从XSD生成HTML页面。读取数据也可以使用XSLT完成。如果您使用Smalltalk Web应用程序框架Seaside,页面是从代码生成的,因此只有一个地方可以维护您的应用程序。但这并没有被广泛使用,因此可能不是一种选择。大多数其他语言都使用页面模板。

答案 1 :(得分:1)

您可以通过以下代码执行此操作: 以下代码检查文件是否不存在,然后创建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();
    }

答案 2 :(得分:0)

尝试工具http://github.com/davidmoten/xsd-forms。它基于xsd生成HTML和JavaScript,并提交符合xsd的XML。