2
我试图通过将其发布到WebApi POST方法来反序列化XML。除了有多个子节点的节点之外,一切正常,并且反序列化正常。WebApi XML反序列化 - 具有多个子节点的节点没有被正确地反序列化为子节点对象数组
的代码看起来是这样的:
[Serializable]
public class grandparentnode
{
[XmlElement]
public parentnode[] parentnode { get; set; }
}
[Serializable]
public class parentnode
{
public childnode childnode { get; set; }
}
[Serializable]
public class childnode
{
public string foo { get; set; }
public string bar { get; set; }
public string baz { get; set; }
}
这是XML:
<grandparentnode>
<parentnode>
<childnode>
<foo>1</foo>
<bar>2</bar>
<baz>3</baz>
</childnode>
<childnode>
<foo>4</foo>
<bar>5</bar>
<baz>6</baz>
</childnode>
<childnode>
<foo>7</foo>
<bar>8</bar>
<baz>9</baz>
</childnode>
</parentnode>
</grandparentnode>
的问题是,在调试,所有我得到的是parentnode[]
阵列中的一个项目,像这个:{WebApiListener.Controllers.FooBarBazController.parentnode[1]}
。我需要parentnode作为一个数组的childnode对象。
任何想法为什么?
谢谢
彼得
你childnode属性是无阵列。 – Jobo
对不起,我错过了一些关闭和开放标签。现在呢?如果它不是一个数组,那么它应该表示为什么? – Wowca
你的父节点的“childnode”属性应该是childnode []类型的,并且应该用[XmlElement]属性标记,我猜。 – Jobo