感谢大家提出建议并随时提供帮助。
昨天我在asp.net 4.0中尝试开发和Web应用程序,我需要从xml解析数据并将其保存在数据库中。但在此之前,我还必须验证它。
我尝试使用.net提供的工具xsd.exe生成模式文件,但我不知道如何标记哪些节点或属性是强制性的?
在我的xml下面,项目是强制性的
Root node <Market>
<Login> and its sub element
<ProductType> and its <ProductTypeID/>
The attribute DML is mandatory but should have only 3 values NONE, PUT or MODIFY
<ProductType> may or may not have <ProductItem>
If <ProductItem> is present then it should have <ProductItemID>
<ProductItem> may or may not have <Brand>
If <Brand> is present then it should have <BrandID>
下面是我的xml
<?xml version="1.0" encoding="utf-8" ?>
<Market>
<Login>
<LoginId />
<Password />
</Login>
<ProductType DML="NONE">
<ProductTypeID/>
<Name/>
<Detail/>
<ProductItem DML="PUT">
<ProductItemID/>
<Name/>
<Detail/>
<Brand DML="PUT">
<BrandID/>
<Name/>
<Detail/>
</Brand>
<Brand DML="MODIFY">
<BrandID/>
<Name/>
<Detail/>
</Brand>
</ProductItem>
<ProductItem DML="MODIFY">
<ProductItemID/>
<Name/>
<Detail/>
</ProductItem>
</ProductType>
</Market>
我应该如何以及在何处指定所有必需参数和可选参数,以便根据要求生成我的xsd。
谢谢,
微米。
答案 0 :(得分:0)
xsd.exe只能尝试推断,xml中有哪些元素/属性,但无法找出哪些信息是必需的。但这是一个很好的起点。
使用graphical XML_Schema_Editor编辑生成的xsd以标记必填字段。这比学习xsd-language
容易得多答案 1 :(得分:0)
我认为XSD不支持嵌套XML。我会尝试将XML加载到XmlDocument
并手动检查必填字段。