我正在尝试反序列化
<graph>
<node>
<node>
<node></node>
</node>
</node>
<node>
<node>
<node></node>
</node>
</node>
</graph>
与
[XmlRoot("graph")]
class graph
{
List<Node> _children = new List<node>();
[XmlElement("node")]
public Node[] node
{
get { return _children.ToArray(); }
set { foreach(Node n in value) children.add(n) }
};
}
class Node
{
List<Node> _children = new List<node>();
[XmlElement("node")]
public Node[] node
{
get { return _children.ToArray(); }
set { foreach(Node n in value) children.add(n) }
};
}
但它一直说未创建对象,尝试设置子节点时遇到空引用。上面有什么问题吗?
提前致谢~
最佳答案
你的问题在设置的处理程序中,如果不为空则添加:
set { if(value != null) foreach(Node n in value) children.add(n) }
关于C# System.Xml.Serialization 自嵌套元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2851454/