繁体   English   中英

如何使用DataSet中的xsd捕获xml验证中的缺失元素

[英]How to catch missing elements in xml validation with xsd from DataSet

好的,所以我试图针对代表我的项目属性的DataSet验证xml。 架构添加是这样完成的:

dataSet d = new dataSet();
schema.add("http://tempuri.org/settings.xsd", XmlReader.Create(new StringReader(d.GetXmlSchema())));

假设我的数据集有两个列“ path”和“ version”。 然后,如果我尝试验证xml:

<settings>
  <paht>c:\</path>
</settings>

这样可以很好地验证。 而且我不希望...因为没有“版本”条目,所以我不会出错。 因此,我研究了从d.GetXmlSchema()获得的内容,它看起来像一个xsd。 并且所有条目都包含一个属性: minOccurs="0"

我猜想我不要设为="1"但是如何为DataSet设置这样的选项?

好的,这样可以解决问题,但这不是一个很好的解决方案...

因此,我们需要的是"minOccurs="1"但我们需要的是...="0"所以我们只需对从xml和tada中获得的字符串进行替换!

dataSet d = new dataSet();
schema.add("http://tempuri.org/settings.xsd", XmlReader.Create(new StringReader(d.GetXmlSchema().replace("minOccurs=\"0\"", "minOccurs=\"1\""))));

如我所说,不是很好,如果您有更好的建议,请随时添加。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM