C#/ .NET中是否有一种机制能够以一般方式对复杂的XML结构执行类似集合的操作?
例如,假设我有以下XML结构A:
<a:rPr lang="en-US" sz="1500" b="1" i="1">
<a:effectLst>
<a:glow rad="139700">
<a:schemeClr val="accent4">
<a:satMod val="175000"/>
<a:alpha val="40000"/>
</a:schemeClr>
</a:glow>
<a:innerShdw blurRad="63500" dist="50800" dir="18900000">
<a:prstClr val="black">
<a:alpha val="50000"/>
</a:prstClr>
</a:innerShdw>
<a:reflection blurRad="6350" stA="60000" endA="900" endPos="58000" dir="5400000" sy="-100000" algn="bl" rotWithShape="0"/>
</a:effectLst>
</a:rPr>
第二个XML结构B:
<a:rPr lang="en-US" sz="1500" b="1" i="1">
<a:effectLst>
<a:innerShdw blurRad="63500" dist="50800" dir="18900000">
<a:prstClr val="black">
<a:alpha val="50000"/>
</a:prstClr>
</a:innerShdw>
<a:reflection blurRad="6350" stA="60000" endA="900" endPos="58000" dir="5400000" sy="-100000" algn="bl" rotWithShape="0"/>
</a:effectLst>
</a:rPr>
我希望能够执行联合,交集或差异等操作。作为一个例子,我期望从A - B获得以下结果:
<a:rPr lang="en-US" sz="1500" b="1" i="1">
<a:effectLst>
<a:glow rad="139700">
<a:schemeClr val="accent4">
<a:satMod val="175000"/>
<a:alpha val="40000"/>
</a:schemeClr>
</a:glow>
</a:effectLst>
</a:rPr>
.NET框架或第三方库中是否已有这样的机制,或者我是否必须从头开始实现它?