更新由C#中的DataContractserializer序列化的xml的单个元素?

更新由C#中的DataContractserializer序列化的xml的单个元素?,c#,datacontractserializer,C#,Datacontractserializer,我有一个类,它是使用DataContractSerializer类序列化的。现在我想更新序列化对象的单个属性(字符串) 出于某种原因,我找不到这方面的功能,所以我唯一的选择就是序列化整个对象——这可能会变得相当大。仅仅为了改变一个字符串元素而序列化几百行似乎有点过分。 没有更好的方法吗?您使用的是使用Xml序列化的数据协定。您可以使用其他网络库加载xml,然后解析文件并更改一项。我更喜欢使用Xml Linq库来实现这一点。@jdweng谢谢,但我尝试使用XDocument和XmlDocument

我有一个类,它是使用
DataContractSerializer
类序列化的。现在我想更新序列化对象的单个属性(字符串)

出于某种原因,我找不到这方面的功能,所以我唯一的选择就是序列化整个对象——这可能会变得相当大。仅仅为了改变一个字符串元素而序列化几百行似乎有点过分。
没有更好的方法吗?

您使用的是使用Xml序列化的数据协定。您可以使用其他网络库加载xml,然后解析文件并更改一项。我更喜欢使用Xml Linq库来实现这一点。@jdweng谢谢,但我尝试使用
XDocument
XmlDocument
类,这两个类都不起作用-这意味着它们找不到所需的元素。[使用此方法。)。我认为问题在于,例如,一个名为
Name
的属性使用标记前缀保存,如
d2p1:Name
(我想,目前机器上没有)。可能我必须为项目定义自定义名称…我经常使用XDocument,并且始终能够找到标记。如果找不到标记,则表示需要命名空间,或者标记是子代而不是元素。请检查Xml以查看是否存在默认命名空间xmlns=“URL”(一个没有prefix@jdweng嗯,我想你指出了这个问题。我会测试一下,谢谢!:)