2012-04-12 29 views
0

好的,所以我試圖驗證xml是否針對表示我的項目屬性的DataSet。 架構除了像這樣做:如何在xml驗證中使用xsd從DataSet中捕獲丟失的元素

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

比方說,我的DataSet有兩列「路徑」和「版本」。然後,如果我嘗試驗證一個xml:

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

這將驗證罰款。我不希望它......我不會因爲沒有「版本」條目而出現錯誤。所以我看了我從d.GetXmlSchema()得到的結果,它看起來像一個xsd。並且所有條目都包含一個屬性:minOccurs="0"

我在猜測我不想那="1"但我該如何設置這樣的選項到DataSet?

回答

0

好所以這個問題解決了,但它不是一個很好的解決方案......

所以,我們需要的是"minOccurs="1"但我們有什麼...="0",所以我們只是做了更換,在我們從XML獲取字符串和田田!

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

正如我所說的,不是很好,如果你有更好的建議,請隨時在增加。

相關問題