1

私はxmlファイルを持っています:

<srtch Name="tchfn" version="v.1.1.02"  />
<vrttch Name="tchfn 02" version="v.1.1.03"  />
<ghsch Name="tchfn 03" version="v.1.1.04"  />

存在するかどうかを確認する必要があり、vrttch存在する場合はバージョンを変更する必要があります。存在しない場合は、新しいエントリを作成する必要があります。

私はC#にまったく慣れていません。私は試しxmlreaderました。タイプが要素かどうかは確認できましたが、属性を設定できませんでした。

どんな助けでもありがたいです

4

2 に答える 2

2

これでうまくいくはずです

    public static void Main()
    {
        XmlDocument xDoc = new XmlDocument();
        xDoc.Load("XMLFile1.xml");

        XmlNodeList xNodeList = xDoc.SelectNodes("//vrttch");

        if (xNodeList.Count != 0)
        {
            xNodeList[0].Attributes["version"].Value = "Whateva";
        }
        xDoc.Save("XMLFile1.xml");
    }

これで発生する可能性のある問題の 1 つは、xml ファイルのパスです。プロジェクトのローカル パスの場所を見つけるには、プロジェクトを右クリックして をクリックし、open in File explorer、 に移動します。そこに xml ファイルがあるはずです。bindebug

それが難しすぎると思われる場合は、たとえば、パスを絶対パスにする方がおそらく簡単です。

xDoc.Load(@"c:\temp\XMLFile1.xml");

次のように、必ず XML にルート ノードを配置してください。

<root>
  <srtch Name="tchfn" version="v.1.1.02"  />
  <vrttch Name="tchfn 02" version="v.1.1.03"  />
  <ghsch Name="tchfn 03" version="v.1.1.04"  />
</root>
于 2013-03-13T19:54:03.210 に答える
0

XDocumentを試して、Descendents("vrttch") を呼び出して、null かどうかを確認してください。だったらそこじゃない

于 2013-03-13T19:52:09.633 に答える