0

私はC#ASP.NETのXMLファイルに少し慣れていません。私は以下の形式のXMLを持っています:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Installation>
  <ServerIP>192.168.20.110</ServerIP>
  <DB_Name>USTCKT1</DB_Name>
  <Username>jorame</Username>
  <Password>Cru$%e20</Password>
  <Table_PreFix>TCK</Table_PreFix>
</Installation>

各要素内の値を変更する必要があります。たとえば、ユーザーがクリックすると、192.168.20.110を192.168.1.12に置き換えることができるはずです。

どうすればこれを達成できますか?どんな助けでも本当にありがたいです。

4

3 に答える 3

1

XDocumentクラスを使用して、次のようなことを行うことができます。

XDocument doc = XDocument.Load(file.xml);
doc.Element("Installation").Element("ServerIP").Value = "192.168.1.12";
//Update the rest of the elements
doc.Save(file.xml);

詳細

要素を選択するときに名前空間の問題が発生した場合は、XElementセレクターにxml名前空間を含める必要があります。doc.Element(namspace + "Installation")

于 2013-03-09T03:22:02.197 に答える
1

XDocumentクラスのメソッドの使用を検討する必要があります。http://msdn.microsoft.com/en-us/library/bb301598.aspx

具体的には、次のメソッドを見てください。Load(string)-XMLファイルをロードする場合、Element()-特定の要素にアクセスする場合、Save(string)-XMLドキュメントを保存する場合。Element()のページには、役立つサンプルコードがいくつかあります。 http://msdn.microsoft.com/en-us/library/system.xml.linq.xcontainer.element.aspx

于 2013-03-09T03:22:03.720 に答える
0

一般に、次の手順で実行できます。

  1. 新しいXmlDocumentオブジェクトを作成し、コンテンツをロードします。コンテンツはファイルまたは文字列の場合があります。
  2. 変更する要素を見つけます。xmlファイルの構造が複雑すぎる場合は、必要なものを見つけたxpathを使用できます。
  3. その要素に変更を適用します。
  4. xmlファイルを更新します。

これが簡単なデモです:

    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load("file.xml"); // use LoadXml(string xml) to load xml string
    string path = "/Installation/ServerIP";
    XmlNode node = xmlDoc.SelectSingleNode(path); // use xpath to find a node
    node.InnerText = "192.168.1.12"; // update node, replace the inner text
    xmlDoc.Save("file.xml"); // save updated content   

お役に立てば幸いです。

于 2013-03-11T15:07:15.473 に答える