2016-03-02 1 views
1

Je suis en train de convertir ce qui suit dans un fichier XMLvaleur Append d'un élément XML avec un texte supplémentaire en utilisant des expressions régulières

<SharedDataSetReference>AnyDataSetName</SharedDataSetReference> 

à

<SharedDataSetReference>/DataSets/AnyDataSetName</SharedDataSetReference> 

en même temps, les instances existantes de

<SharedDataSetReference>/DataSets/AnyDataSetName</SharedDataSetReference> 

doit rester inchangé.

Pls noter que AnyDataSetName peut avoir

<SharedDataSetReference>Company</SharedDataSetReference> 
<SharedDataSetReference>Customer</SharedDataSetReference> 

ou /datasets/commande

et ils devraient changer pour

<SharedDataSetReference>/Datasets/Company</SharedDataSetReference> 
<SharedDataSetReference>/Datasets/Customer</SharedDataSetReference> 
<SharedDataSetReference>/Datasets/Order</SharedDataSetReference> 

Répondre

0

Merci Tim007 C'est ce que je l'ai fait

var sharedDatasets = Regex.Replace(datasets.First().ToString(), String.Format(@"<{0}>(?<DataSetReferenceValue>[^\/]+)<\/{0}>", "SharedDataSetReference"), delegate(Match match) 
      { 
       var value = String.Concat("/Datasets/", match.Groups["DataSetReferenceValue"].ToString()); 
       return String.Format(@"<{0}>{1}</{0}>", "SharedDataSetReference", value); 
      }, RegexOptions.Multiline 
      )