我对XML文件进行了反序列化,如下所示:
<?xml version="1.1" ?>
<Veggies>
<Carrot>
<quantity> 1 </quantity>
</Carrot>
</Veggies>好的。我写了这样的类
[Serializable]
public class Veggies
{
[XmlRoot("Veggies")]
public Carrot carrot;
}
[Serializable]
public class Carrot
{
[XmlElement("Quantity")]
public string Quantity;
}平安无事。
但是如果有人解析如下所示的输入文件,
<?xml version="1.1" ?>
<Figs>
<quantity> 11 </quantity>
</Figs>
<Veggies>
<Carrot>
<quantity> 1 </quantity>
</Carrot>
</Veggies>我得到一个错误。你能给我一个解决方案,使得胡萝卜的数量可以单独检索,而不会抛出错误的其他数据吗?
谢谢。
发布于 2012-12-18 13:59:13
好吧伙计们..。我想通了!
<?xml version="1.1" ?>
<Figs>
<quantity> 11 </quantity>
</Figs>
<Veggies>
<Carrot>
<quantity> 1 </quantity>
</Carrot>
</Veggies>是不允许的,因为它不遵守“所有元素都应该在RootElement标记内”的规则。
如果文件是这样的,
<?xml version="1.1" ?>
<Veggies>
<Figs>
<quantity> 11 </quantity>
</Figs>
<Carrot>
<quantity> 1 </quantity>
</Carrot>
</Veggies>然后,胡萝卜的数量可以单独读取,其他人不会抛出任何错误。
因此,“始终将元素放在rootElement中(在这里的示例中是”蔬菜“)”,或者换句话说,这些元素应该遵循反序列化类结构。
谢谢。
https://stackoverflow.com/questions/13926068
复制相似问题