Это ваш полный элемент XML или его часть? Кажется, это часть более крупного элемента, поскольку я не смог воспроизвести ваши результаты только с этой частью.
Если это часть большого фрагмента XML, используйте этот подход:
Dim xml = <root><Play>
<Trick Lead="E" Win="S" TNum="1">S3.S2.S4.SA></Trick>
<Trick Lead="S" Win="N" TNum="2">DK.DA.D6.DQ></Trick>
<Trick Lead="" Win="" TNum="7"></Trick>
<Trick Lead="" Win="" TNum="13"></Trick>
</Play></root>
xml.<Play>.<Trick>.Where(Function(m) m.Value = "").Remove()
Обратите внимание, что XML заключен в узлы <root>
, а ссылка <Trick>
опущена в методе Where
.
Если XML такой, как вы его представили, используйте этот подход:
Dim xml = <Play>
<Trick Lead="E" Win="S" TNum="1">S3.S2.S4.SA></Trick>
<Trick Lead="S" Win="N" TNum="2">DK.DA.D6.DQ></Trick>
<Trick Lead="" Win="" TNum="7"></Trick>
<Trick Lead="" Win="" TNum="13"></Trick>
</Play>
xml.<Trick>.Where(Function(m) m.Value = "").Remove()
Console.WriteLine(xml)
В приведенном выше примере обратите внимание, что <Play>
опущен, поскольку он является корнем xml
, а <Trick>
также опущен в методе Where
.