2012-09-12 61 views
0

XML 1:分配多个XML节点值到一个类属性在c#

<Test><Anything>12345</Anything></Test> 

的Xml 2:

<Test><Anything1>test123</Anything1></Test> 

Class Test 
{ 
    [XmlElement("Anything" or "Anything")] 
    public string Sample { get; set; } 
} 

在我的情况下的XML会中的任何一个。所以我必须将Anything标签或Anything1分配给Sample属性。

这是可能的吗?

+1

我不认为你可以或你应该。因为这不是真的如何使用XML。 –

回答

0

如果元素的顺序是固定的,你可以这样做。有关更多信息,请参见Deserialize multiple XML elements with the same name through XmlSerializer class in C#

否则,你不能这样做。如果你这样做:

public class Test 
{ 
    [XmlElement("Anything")] 
    [XmlElement("Foo")] 
    public string Sample { get; set; } 
} 

... 

Test test = new Test { Sample = "test" }; 
XmlSerializer xmlSerializer = new XmlSerializer(typeof(Test)); 

它抛出一个InvalidOperationException说:“有是反映类型‘AntlrTest.Program.Test’一个错误”。问题是没有必要加载类型,它正在写出来。

相关问题