-2

重複の可能性:
この配列 + 関数を機能させるには?

これは私の機能です。私がやろうとしているのは、配列を XML ファイルに投稿することです。私はこれが初めてです。

// ------------------- Functions
static void XML_Array(Dictionary<string, string> Data_Array)
{
    foreach (KeyValuePair<string, string> kvp in Data_Array)
    {
        if (kvp.Key == "XML_File")
        {
            String xmlfile = kvp.Value;
        }

        XmlTextWriter xwriter = new XmlTextWriter(xmlfile, Encoding.Unicode);

        xwriter.WriteStartDocument();

        if (kvp.Key == "StartElement")
        {
            xwriter.WriteStartElement(kvp.Value);
        }

        foreach (KeyValuePair<string, string> kvp2 in Elements_Array)
        {
            String Element_Name = kvp2.Key;
            String Element_Value = kvp2.Value.ToString();

            xwriter.WriteStartElement(Element_Name);
            xwriter.WriteString(Element_Value);
            xwriter.WriteEndElement();
        }

        xwriter.WriteEndDocument();
        xwriter.Close();
    }

}

私の配列コードはこれです。ボタン2を押すと、配列は関数に移動します

    private void button2_Click(object sender, EventArgs e)
    {
        Dictionary<string, string> Data_Array = new Dictionary<string, string>();
        Data_Array.Add("XML_File", "Settings_Data.xml");
        Data_Array.Add("StartElement", "XMLFILE");

        Dictionary<string, string> Elements_Array = new Dictionary<string, string>();
        Elements_Array.Add("Name", textBox3.Text);
        Elements_Array.Add("Age", textBox4.Text);
        Elements_Array.Add("Gentle", comboBox6.SelectedIndex);

        Data_Array.Add("Elements_Array", Elements_Array);

        XML_Array(Data_Array);
    }

アップデート

問題は、もちろん問題は、XML_File 値 = Settings_Data.xml を表示するために、String xmlfile = である関数をどのように作成できるかということです。

もう1つの問題はData_Array.Add("Elements_Array", Elements_Array)、この部分でエラーが発生することです。

4

2 に答える 2

0

なぜ辞書の段階でさえ気にするのですか?

private void button2_Click(object sender, EventArgs e)
    {

        XDocument doc = new XDocument()
        XElement root = new XElement("XML_File");
        root.Add(new XElement("name",textBox3.text));

        ... blah blah

}
于 2012-08-28T23:19:49.657 に答える
0

私があなたの要件を理解していれば、これだけで十分である可能性があります。

private void button2_Click(object sender, EventArgs e)
{
    var data = new XDocument(new XElement("XMLFILE", new []
    {
        new XElement("Name", textBox3.Text),
        new XElement("Age", textBox4.Text),
        new XElement("Gentle", comboBox6.SelectedIndex),
    }));

    XML_Array("Settings_Data.xml", data);
}

そして、これを持っています:

static void XML_Array(string fileName, XDocument data)
{
    data.Save(fileName);
}

このコードの結果のファイルは次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<XMLFILE>
  <Name>James</Name>
  <Age>42</Age>
  <Gentle>1</Gentle>
</XMLFILE>
于 2012-08-29T04:32:06.973 に答える