我们必须用 C#(windows 形式)编写代码,将 XML 文件加载到 Richtextbox 中。作品
这是文本字段的样子:
<Hmi.Screen.TextField Name="Text Field_1" AggregationName="ScreenItems" ID="31">
<ObjectList>
<Hmi.Screen.Property Name="Layer" AggregationName="Properties" ID="77">
<AttributeList>
<Value>0</Value>
</AttributeList>
</Hmi.Screen.Property>
<Hmi.Screen.Property Name="Left" AggregationName="Properties" ID="78">
<AttributeList>
<Value>264</Value>
</AttributeList>
</Hmi.Screen.Property>
<Hmi.Screen.Property Name="Top" AggregationName="Properties" ID="79">
<AttributeList>
<Value>48</Value>
</AttributeList>
</Hmi.Screen.Property>
<Hmi.Screen.Property Name="FitToLargest" AggregationName="Properties" ID="84">
<AttributeList>
<Value>false</Value>
</AttributeList>
</Hmi.Screen.Property>
</ObjectList>
</Hmi.Screen.TextField>
这是我们要删除或将值设置为的部分false
(true
您的选择更容易):
<Hmi.Screen.Property Name="FitToLargest" AggregationName="Properties" ID="84">
<AttributeList>
<Value>false</Value>
</AttributeList>
</Hmi.Screen.Property>
这部分代码在每个文本字段中都可以找到,但属性 ID 的值不同。我们想为每个文本字段删除它。
我们已经有了这个:
XDocument xml = XDocument.Load(loadLocation);
xml.Descendants().Elements("Hmi.Screen.Property")
.Where(e => e.Attribute("Name=").Value == "FitToLargest")
.Remove();
xml.Save(loadLocation);
我们在stackoverflow上找到了它,但它给出了这个错误:
Error 1 A local variable named 'e' cannot be declared in this scope because it would give a different meaning to 'e', which is already used in a 'parent or current' scope to denote something else C:\Users\*****\*****\*****\Projects\Converter\Converter\Form1.cs 211 37 Converter
我们可以通过更改来消除错误,e
例如eJbou
(Jbou 是我的首字母)
我们希望有人可以通过告诉我们错误的含义来帮助我们,或者通过提供有效的代码来帮助我们。