-1

誰かが私のコードをチェックして、XML ファイルにエントリを追加しようとしているのに何が間違っているかを確認してください。Bill bill@zzz.com 28 と言う代わりにファイルをチェックする場合を除いて、エントリー名 age と email を追加すると、それらは入力されます。請求書請求書が表示されるだけです。私が見る限り、すべて問題ないように見え、適切に閉じられていますが、他の人の意見を聞きたいです。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Linq;
using System.IO;


public partial class compnew : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        XDocument doc = XDocument.Load(Server.MapPath("~/comp.xml"));
        var comp = from itm in doc.Descendants("people") select itm;
        StreamWriter stream = new StreamWriter(Server.MapPath("~/comp.xml"));
        stream.WriteLine("<?xml version=\"1.0\" encoding=\"utf-8\" ?>");
        stream.WriteLine("<comp>");

        stream.WriteLine("<people>");
        stream.WriteLine("<name>" + txtName.Text + "</name>");
        stream.WriteLine("<email>" + txtName.Text + "</email>");
        stream.WriteLine("<age>" + txtName.Text + "</age>");
        stream.WriteLine("</people>");

        foreach (var item in comp){
            stream.WriteLine("<people>");
            stream.WriteLine("<name>" + item.Descendants("name").First().Value.ToString() + "</name>");
            stream.WriteLine("<email>" + item.Descendants("email").First().Value.ToString() + "</email>");
            stream.WriteLine("<age>" + item.Descendants("age").First().Value.ToString() + "</age>");
            stream.WriteLine("</people>");
        }

        stream.WriteLine("</comp>");
        stream.Close();

        txtName.Text = "";
        txtEmail.Text = "";
        txtAge.Text = "";
        DataList1.DataBind();
        Response.Write("Thank you");
    }
}
4

2 に答える 2

2

あなたのコードから:

stream.WriteLine("<name>" + txtName.Text + "</name>");
stream.WriteLine("<email>" + txtName.Text + "</email>");
stream.WriteLine("<age>" + txtName.Text + "</age>");

txtEmail.Textまたはフィールド名の代わりに、それらすべての値として「txtName.Text」を書いています。

于 2013-04-24T14:35:11.827 に答える
0

、、およびtxtName.Textに保存されています。<name><email><age>

    stream.WriteLine("<name>" + txtName.Text + "</name>");
    stream.WriteLine("<email>" + txtName.Text + "</email>");
    stream.WriteLine("<age>" + txtName.Text + "</age>");

とを使用するように変更する場合がtxtEmailありtxtAgeます。

    stream.WriteLine("<name>" + txtName.Text + "</name>");
    stream.WriteLine("<email>" + txtEmail.Text + "</email>");
    stream.WriteLine("<age>" + txtAge.Text + "</age>");
于 2013-04-24T14:37:14.387 に答える