0

誰かが私がこれを行うのを手伝ってもらえますか? 彼が自動インクリメントしてくれることを願っていますが、そうではありません。これを手伝ってくれませんか?

私のコードは次のとおりです。

    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load(Server.MapPath(@"Participantes.xml"));


    XmlElement newElement = xmlDoc.CreateElement("ID" **/* this is need auto-increment */**);
    XmlElement xmlNome = xmlDoc.CreateElement("Nome");
    XmlElement xmlClass = xmlDoc.CreateElement("Classe");
    XmlElement xmlFaccao = xmlDoc.CreateElement("Facção");
    XmlElement xmlLevel = xmlDoc.CreateElement("Level");


    xmlNome.InnerText = this.TextBox_I1.Text.Trim();
    xmlClass.InnerText = this.Class_I1.SelectedItem.Text.Trim();
    xmlFaccao.InnerText = this.Faccao.SelectedItem.Text.Trim();
    xmlLevel.InnerText = this.TextBox_lvl.Text.Trim();

    newElement.AppendChild(xmlNome);
    newElement.AppendChild(xmlClass);
    newElement.AppendChild(xmlFaccao);
    newElement.AppendChild(xmlLevel);

    xmlDoc.DocumentElement.AppendChild(newElement);
    xmlDoc.Save(Server.MapPath(@"Participantes.xml"));

誰でも助けてくれますか?誰でもこれがどのように知っていますか?

__ _ __ _ __ _ _編集09/05/2012 _ _ _ _ _ _ _ _

解決:

        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(Server.MapPath(@"Participantes.xml"));


        var x = xmlDoc.GetElementsByTagName("ID");
        int Max = 0;
        foreach (XmlElement item in x)
        {
            int ultimoID = Convert.ToInt32(item.GetAttribute("value"));
            if (ultimoID > Max)
            {
                Max = ultimoID;
            }
        }
        Max++;


        XmlElement newElement = xmlDoc.CreateElement("ID");
        newElement.SetAttribute("value", Max.ToString());
        XmlElement xmlNome = xmlDoc.CreateElement("Nome");
        XmlElement xmlClass = xmlDoc.CreateElement("Classe");
        XmlElement xmlFaccao = xmlDoc.CreateElement("Facção");
        XmlElement xmlLevel = xmlDoc.CreateElement("Level");


        xmlNome.InnerText = this.TextBox_I1.Text.Trim();
        xmlClass.InnerText = this.Class_I1.SelectedItem.Text.Trim();
        xmlFaccao.InnerText = this.Faccao.SelectedItem.Text.Trim();
        xmlLevel.InnerText = this.TextBox_lvl.Text.Trim();

        newElement.AppendChild(xmlNome);
        newElement.AppendChild(xmlClass);
        newElement.AppendChild(xmlFaccao);
        newElement.AppendChild(xmlLevel);

        xmlDoc.DocumentElement.AppendChild(newElement);
        xmlDoc.Save(Server.MapPath(@"Participantes.xml"));

属性を使用... 標準の XML に従う必要があるためです。GetElementsByTagName で値を設定する ID を選択してください! foreach を使用して属性「値」を確認し、SetAttribute を使用して +1 を挿入します

4

1 に答える 1

0

これはあなたが必要とするものですか?

int iID = 0;

XmlElement newElement = xmlDoc.CreateElement("ID_" + iID++.ToString())

そして残りは同じです...

XML タグ名を数字で開始できるかどうかわからないため、「ID_」を追加しました。

于 2012-09-03T21:50:42.257 に答える