如何反序列化没有命名空间的XML文件?

3

我有一个长这样的XML文件:

<?xml version="1.0" encoding="utf-8"?>
<config>
 <node id="1" />
</config>

现在我尝试对其进行反序列化,但总是出现错误:
<config xmlns=''> was not expected

有没有人知道如何解决这个问题?我无法控制XML文件。

谢谢。

1个回答

2
为什么不直接将其作为DOM加载(例如使用XmlDocumentXDocument),并自己提取数据?假设它没有使用XmlSerializer保存,那么尝试以此方式反序列化是没有意义的。
编辑:如果您能给我们一些背景信息会更好。如果这不是有效的XmlSerializer输出,那它是什么?最初它是一个有效的文件,但是某些东西剥离了命名空间吗?如果是这样,它还做了什么其他的事情?
您很可能只需在每个元素上重新应用命名空间(到每个元素)即可,尽管这可能很麻烦。目前我们无法确定。

我刚刚发布了一个示例,实际上文件相当大,我必须使用XmlSerializer进行反序列化。 - eemceebee
3
为什么你必须使用 XmlSerializer?如果它不是 XmlSerializer 的有效输出,为什么你要尝试使用它进行反序列化? - Jon Skeet
@CJohnson:我认为不太行——信息不够充足。当然,如果你认为可以回答,那就随便回答吧。 - Jon Skeet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接