【发布时间】:2020-08-28 04:26:39
【问题描述】:
我有一些如下所示的 XML 文件:
文件“B156.xml”
<B156>
<Customer>
<Name>The Barn</Name>
<Phone>0427825166</Phone>
</Customer>
<Orders>
<Item>
<Description>Black toner</Description>
<Amount>$59.00</Amount>
</Item>
<Orders>
</B156>
文件“B172.xml”
<B172>
<Customer>
<Name>Pixie Inc</Name>
<Phone>0426553190</Phone>
</Customer>
<Orders>
<Item>
<Description>Colour toner</Description>
<Amount>$79.00</Amount>
</Item>
<Orders>
</B172>
在这种情况下如何使用 XmlSerializer,考虑到根元素是动态的,我们不能使用 XmlRoot("RootName") 来指定它?
【问题讨论】:
-
不能使用 LINQ to XML 吗?
-
@silkfire 我使用 XmlSerializer 因为有很多属性需要序列化到域类中,为了简洁起见,上面的示例被简化了。
-
考虑到您的示例,您不能从文件名本身获取根元素名称吗?
-
@GurhanPolat 我没有兴趣在这里获取根元素。我的问题是,如果我没有指定有效的根,XmlSerializer 会抛出错误,在我的情况下我不能,因为它们是动态的。 (B156、B172 等)
标签: c# xmlserializer