0

送信フォームの内容を保存するために使用したい既存の xml ファイルがあります。

/ * ** * XML ファイル StoreUserInfo.xml:

<?xml version="1.0" encoding="utf-8" ?>
<recordstore>

</recordstore>

/ * ** * **フォーム

<div>Genre: <asp:TextBox ID="txtGenre" runat="server" /></div><br />
        <div>Title: <asp:TextBox ID="txtTitle" runat="server" /></div><br />
        <div>Name: <asp:TextBox ID="txtName" runat="server" /></div><br />
        <div>Email: <asp:TextBox ID="txtEmail" runat="server" /></div><br />
        <div>Comments: <br /><asp:TextBox ID="txtComment" runat="server" Width="200px" Height="100px" /></div><br />
        <div><asp:Button ID="btnSubmit" runat="server" Text="submit" 
                onclick="btnSubmit_Click" /></div><br />
        <div>
            <asp:Label ID="lblResult" runat="server" />
        </div>

/ * ** * ** * ** *ソースコード

//function to create the nodes
    XmlNode CreateBookNode(XmlDocument doc)
    {
        //Create the author node and its children
        XmlNode recordNode = doc.CreateElement("record");  
        XmlAttribute genreAttribute = doc.CreateAttribute("genre");
        genreAttribute.Value = txtGenre.Text;
        recordNode.Attributes.Append(genreAttribute);

        //Create title attribute and add all the children of the record node
        XmlNode titleNode = doc.CreateElement("title");
        titleNode.InnerText = txtTitle.Text;
        recordNode.AppendChild(titleNode);

        //Create the Author Node and it's children
        XmlNode authorNode = doc.CreateElement("author");
        XmlNode FullNameNode = doc.CreateElement("FullName");
        FullNameNode.InnerText = txtName.Text;
        authorNode.AppendChild(FullNameNode); 

        //now add email 
        XmlNode emailNode = doc.CreateElement("Email");
        emailNode.InnerText = txtEmail.Text;
        authorNode.AppendChild(emailNode);  

        recordNode.AppendChild(authorNode); 

        //now add comments
        XmlNode commentNode = doc.CreateElement("Comments");
        commentNode.InnerText = txtComment.Text;
        recordNode.AppendChild(commentNode); 

       return recordNode;
    }

    //button click
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        //path to the xml file
        string xmlPath = MapPath("StoreUserInfo.xml");
        XmlDocument doc = new XmlDocument();

        doc.Load(xmlPath);
        XmlNode recordNode = CreateBookNode(doc); 
        //Get reference to the book node and append the book node to it
        XmlNode recordStoreNode = doc.SelectSingleNode("recordstore"); 
        recordStoreNode.AppendChild(recordNode);             
        lblResult.Text = "XML Document has been successfully updated";
    }

... エラーは発生していませんが、ボタンをクリックしたときにフォームの内容を xml ファイルに書き込むことができません。私が欠けているものについて誰かが助けてくれますか?

4

1 に答える 1

0

うまくいきました。btnsubmit_Click 関数に doc.Save(xmlPath); がありませんでした。

于 2013-07-25T17:19:06.193 に答える