2014-01-08 23 views
0

我有一個XML文件:C# - 如何拆分,替換xml文件的內容?

<xml ?iwes sf> 
    <product> 
     <name> Computer </name> 
     <details>a product of Dell</details> 
     <sender> sender no name</sender> 
    </product> 
</xml> 

我想拆分:

<xml ?iwes sf>,  ,<product>,   ,<name>,Computer,</name>,..., ,</xml> 

然後我的文字內容(電腦,戴爾的產品,發件人沒有名字)翻譯成韓國語。 最後,我想加入

<xml ?iwes sf>,  ,<product>,   ,<name>,Computer,</name>,..., ,</xml> 

與結果翻譯:

<xml ?iwes sf> 
    <product> 
     <name> 컴퓨터</name> 
     <details>Dell의 제품 </details> 
     <sender> 아니오 유명한 송신기 </sender> 
    </product> 
</xml> 

我用正則表達式:

string[] gettag = Regex.Split(inputText.Text, "(<.*?>)|(.+?(?=<|$))"); 

,但它是錯誤的,它水溼做我想做什麼,我卡恩之前沒有將xml標記連接到位置,導致它無法獲得「\ t」! 我該怎麼辦? 我的英語水平不錯。我希望每個人都能理解我說的,幫助我! 謝謝!

+2

您是否在正則表達式之前考慮過正確的XML解析器? – Jerry

+1

請勿爲此使用RegEx。使用Linq或XPath。 – germi

+0

我只是分割了所有的文件。如果我按行分割文件,我可以檢查它。 – hazymnc

回答

0

是不是一些lambda表達式?

你可以試試這個。

 IEnumerable<XElement> xx = xdoc.Root.Descendants().Elements().Where(c => { if (c.Name == "name") { c.Value = "Dell"; } else if (c.Name == "details") { c.Value = "Dell Detial"; } return true; }).Select(c => c); 


      // Loop. 
      string x = string.Empty; 
      foreach (XElement x1 in xx) 
      { 
       x += x1.ToString(); 
      } 

     Console.WriteLine(x.ToString());