背景: XamlReader.Load() を使用してファイルからクラスをロードし、それを操作してから、XamlWriter.Save() を使用してファイルに保存しています。元のファイルには null プロパティはありませんが、結果として保存されたファイルには、null であるかどうかに関係なくすべてのプロパティが含まれ、ファイルが肥大化します。したがって、実際にディスクに保存する前にそれらを削除したいと思います。
次の xml フラグメントを文字列として持っています。値として「{assembly:Null}」を持つすべてのプロパティを削除する必要があります。
<ElementMap ElementType="SegmentData"
Key="{assembly:Null}"
EntityPropertyMapping="SenderCode"
Name="Application Sender's Code"
ElementCode="GS02"
EdiDataType="AN"
EntityDataType="String"
MinLength="2"
MaxLength="15"
Position="0"
ElementIndex="2"
ValidateData="False"
Parent="{assembly:Null}"
IsRequired="True"
Note="{assembly:Null}"
Default="{assembly:Null}"
Example="{assembly:Null}"
ExcludeFromStringOutput="False" />
最終結果は次のようになります。
<ElementMap
ElementType="SegmentData"
EntityPropertyMapping="SenderCode"
Name="Application Sender's Code"
ElementCode="GS02"
EdiDataType="AN"
EntityDataType="String"
MinLength="2"
MaxLength="15"
Position="0"
ElementIndex="2"
ValidateData="False"
IsRequired="True"
ExcludeFromStringOutput="False" />
では、これはどのように達成できるのでしょうか。