我只是想知道在不更新整个对象的情况下更新XML中现有节点的最佳方法是什么?我们来看看..
在我的XML文档中,我有以下内容:
<DirUser override="always">
<UserDirectory header="Users" enabled="false" />
<StaffDirectory header="Staff" enabled="true" />
<Phones>
<Field>Number</Field>
<Field>Mob</Field>
</Phones>
</StaffDirectory>
</DirUser>
在我的C#代码中,我有以下内容:
public void UpdateContact(XElement element)
{
}
我可以通过以下方式使用XElement调用此方法:
XElement contacts = XElement.Load("C:\\Path\\");
我很困惑我是否必须再次解析XML,最有效的方法是改变“visible =”?
由于
答案 0 :(得分:1)
XElement就像一个包含其他XElements / Nodes等的树结构。 如果你真的想要传递你从Load获得的XElement,你必须在UpdateMethod中选择正确的XElement
public void UpdateMethod(XElement element)
{
XElement toUpdate = element.Descendants("ElementName").First();
toUpdate.SetAttributeValue("AttributeName", "AttributeValue");
}
但您也可以先选择用户XElement并将用户传递给Method。
答案 1 :(得分:0)
这取决于您的需求100%。
visible
设置为true ,代码就足够了。