簡體   English   中英

從XSD創建Web表單,然后輸出xml表單

[英]create web form from XSD and then output xml form

我正在創建一個工具,允許某人輸入食譜,然后將其保存為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。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM