2015-11-10 94 views
0

嗨,任何人都可以請幫助我生成一個C#代碼來使用我的Datagridview的值替換現有的XML文件。我非常感謝你的幫助,並感謝你。C#代碼替換XML

XML文件:

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<Site> 
    <ItemData Number="one" /> 
    <ItemData Number="two" /> 
    <ItemData Number="three" /> 
</SITE> 

DatagridViewvalue:

我想和值 「項目編號」 來取代它。我非常感謝你的幫助。謝謝。

ProductID Item Number Cash Value 
     3221  4   300 
     3221  5   400 
     3221  6   500`` 
+0

你是如何保存XML?你看過XML序列化嗎?更新代碼中的值然後將其序列化爲文件可能會更容易。 – ernest

+0

嗨,我打算使用下面的代碼保存它:使用(StreamWriter作家=新的StreamWriter(outputFile,真)) { writer.Write(secdata); } – Jun

+0

哦。是的,試圖用StreamWriter編輯它會很困難。嘗試查看「XmlDocument」。 – ernest

回答

0

試試這個

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Xml; 
using System.Xml.Linq; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      string xml = 
       "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>" + 
       "<Site>" + 
        "<ItemData Number=\"one\" />" + 
        "<ItemData Number=\"two\" />" + 
        "<ItemData Number=\"three\" />" + 
       "</Site>"; 

      XDocument site = XDocument.Parse(xml); 

      List<XElement> itemDatas = site.Descendants("ItemData").ToList(); 

      int newNumber = 3; 
      foreach (XElement itemData in itemDatas) 
      { 
       XAttribute number = itemData.Attribute("Number"); 
       number.Value = newNumber++.ToString(); 
      } 
     } 
    } 
} 
​ 
+0

嗨,感謝它的工作,但你能給我一個例子,說明它如何在你的代碼中通過字符串實現XML文件。謝謝 – Jun

+0

使用XDocument.Load(「文件名」)而不是Parse。 – jdweng