【问题标题】:Append value of an XML Element with additional text using regular expressions使用正则表达式将 XML 元素的值附加到附加文本中
【发布时间】:2016-03-02 01:32:44
【问题描述】:

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

<SharedDataSetReference>AnyDataSetName</SharedDataSetReference>

<SharedDataSetReference>/DataSets/AnyDataSetName</SharedDataSetReference>

同时,现有的实例

<SharedDataSetReference>/DataSets/AnyDataSetName</SharedDataSetReference>

应该保持不变。

请注意 AnyDataSetName 可以有

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

或 /数据集/订单

他们应该改为

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

【问题讨论】:

    标签: regex xml c#-4.0 rdl


    【解决方案1】:

    试试这个

    <SharedDataSetReference>([^\/]+)<\/SharedDataSetReference>
    

    https://regex101.com/r/yM7tA0/1

    【讨论】:

      【解决方案2】:

      谢谢 Tim007 这就是我所做的

      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
                  )
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-12
        • 1970-01-01
        • 1970-01-01
        • 2016-10-05
        • 2021-04-30
        • 2012-05-23
        相关资源
        最近更新 更多