Regex 使用正则表达式用附加文本追加XML元素的值

Regex 使用正则表达式用附加文本追加XML元素的值,regex,xml,c#-4.0,rdl,Regex,Xml,C# 4.0,Rdl,我正在尝试将以下内容转换为XML <SharedDataSetReference>AnyDataSetName</SharedDataSetReference> AnyDataSetName 到 /DataSets/AnyDataSetName 同时,现有的 <SharedDataSetReference>/DataSets/AnyDataSetName</SharedDataSetReference> /DataSets/AnyDataS

我正在尝试将以下内容转换为XML

<SharedDataSetReference>AnyDataSetName</SharedDataSetReference>
AnyDataSetName

/DataSets/AnyDataSetName
同时,现有的

<SharedDataSetReference>/DataSets/AnyDataSetName</SharedDataSetReference>
/DataSets/AnyDataSetName
应该保持不变

请注意,任何数据集名称都可以有

<SharedDataSetReference>Company</SharedDataSetReference>
<SharedDataSetReference>Customer</SharedDataSetReference>
公司
顾客
或 /数据集/订单

他们应该改成

<SharedDataSetReference>/Datasets/Company</SharedDataSetReference>
<SharedDataSetReference>/Datasets/Customer</SharedDataSetReference>
<SharedDataSetReference>/Datasets/Order</SharedDataSetReference>
/数据集/公司
/数据集/客户
/数据集/订单
试试这个

<SharedDataSetReference>([^\/]+)<\/SharedDataSetReference>
([^\/]+)
谢谢你 这就是我所做的

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
            )
var sharedDatasets=Regex.Replace(datasets.First().ToString(),String.Format(@“(?[^\/]+),“SharedDataSetReference”),委托(匹配)
{
var value=String.Concat(“/Datasets/”,match.Groups[“DataSetReferenceValue”].ToString());
返回String.Format(@“{1}”,“SharedDataSetReference”,value);
},RegexOptions.Multiline
)
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
            )