我们需要验证我们生成的XML文档的内容。是否有任何框架可以帮助提取和验证文档的内容,并使其变得容易?
我们需要知道以下几点:
- 是否包含x元素 - 元素x的值 - 元素x是否包含具有值为z的属性y - 意外出现的元素
如果没有断言,也没关系,这可以通过MSTest完成。
我们需要知道以下几点:
- 是否包含x元素 - 元素x的值 - 元素x是否包含具有值为z的属性y - 意外出现的元素
如果没有断言,也没关系,这可以通过MSTest完成。
xDocument.Should().HaveRoot("configuration");
xDocument.Should().HaveElement("settings");
xElement.Should().HaveAttribute("age", "36");
xElement.Should().HaveElement("address");
xAttribute.Should().HaveValue("Amsterdam");
你也可以使用类似 xsd.exe(与VS一起提供的工具)从XSD文件中生成C#实体,以便于XML的操作。
一旦生成了对象,您就可以使用XmlSerializer的实例对XML进行反序列化。如果无法对XML进行反序列化,则很快就会发现您的XML无效。
之后,您应该可以通过处理反序列化实体的各种属性,相对容易地验证XML内容。
这是一篇关于从XSD生成实体对象的好入门博客文章,它展示了使用XmlSerializer进行简单反序列化代码。