2013-05-10 59 views
1

我试图通过使用DataContractSerializer反序列化一个XML文件,其中包含称为“URL”的节点。像这样:DataContractSerializer和“URL”xml节点

<?xml version="1.0" encoding="utf-8"?> 
<products> 
<product ID="8717973147527"> 
<name>Something</name> 
<price currency="EUR">9.00</price> 
<URL>http://google.com</URL> 
<images> 
<image>http://google.com</image> 
</images> 
</product> 
</products> 

映射到URL的反序列化属性保持为空。如果我将xml节点重命名为“url”(小写)或任何其他单词,它工作正常。问题是我无法更改XML,所以我必须找到反序列化它的方法。谁能帮我?

+0

有许多的地方,这可能会倒下。如果您发布了DataContract类的代码,这将有所帮助。 – 2013-05-15 17:39:42

回答

1

可以使用XmlAttribute设置名称,你希望它在XML文件:

[Serializable] 
public class ClassName 
{ 
    // Here set the Xml Name Attribute 
    [XmlAttribute("URL")] 
    string Url; 

...