.net xdt transform仅替换第一个匹配

时间:2018-02-20 20:54:14

标签: c# .net xml visual-studio xdt-transform

我有一个配置文件我正在转换:

<?xml version="1.0" encoding="utf-8"?>
<TopNode>
  <Sub>
    <subnode>aaaa</subnode>
    <othernode>sdfsfsdfsd</othernode>
  </Sub>
  <Sub>
    <subnode>aaaa</subnode>
    <othernode>iiiiiii</othernode>
  </Sub>
  <Sub>
    <subnode>aaaa</subnode>
    <othernode>blahblahblahblabhlahb</othernode>
  </Sub>
  <Sub>
    <subnode>aaaa</subnode>
    <othernode>sdfsdfseeferererer</othernode>
  </Sub>  
</TopNode>

我有这个转变:

<?xml version="1.0" encoding="utf-8" ?>
<TopNode xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <Sub>
    <subnode xdt:Transform="Replace">replaceallwiththis</subnode>
  </Sub>
</TopNode>

它只替换第一个子节点匹配。如何让它替换所有?

我也尝试这样但没有工作:

<subnode xdt:Locator="Condition(.)" xdt:Transform="Replace">replaceallwiththis</subnode>

我也试过,但她没有工作(只替换第一场比赛):

<subnode xdt:Locator="XPath(//TopNode/Sub[subnode='aaaa']/subnode)" xdt:Transform="Replace">zzzzzzzzzzzzzzzzzzz</subnode>

0 个答案:

没有答案