提供されたスキーマに基づいてXMLドキュメントを作成するために、MicrosoftのXMLGenライブラリを使用する関数を作成しようとしています。 For reference, I was trying to follow the project on this MSDN page.XMLサンプルジェネレータ - 型オブジェクトをキャストできません
私はプロジェクトをVisual Basicに翻訳してしまいました。コードは正常に構築されていますが、実行時に例外がスローされます。 "XmlWriter.Create()の間に 'System.Xml.XmlWellFormedWriter'型のオブジェクトをキャストできません
私はXmlWriter.Create()メソッドが新しいXmlWriterインスタンスを作成したと思っています。 XmlWellFormedWriterをキャストします。
Public Function CreateXmlFromSchema(sender As Object, e As EventArgs) Handles ToolStripMenuItem.Click
Dim fDialog As SaveFileDialog = New SaveFileDialog
fDialog.Filter = "XML Document (.xml)|*.xml"
If (fDialog.ShowDialog() = DialogResult.OK) Then
Dim xStringWriter As New StringWriter()
Dim xTextWriter As XmlTextWriter = New XmlTextWriter(xStringWriter)
Try
xTextWriter = XmlWriter.Create("myTextXML.xml")
xTextWriter.Formatting = Formatting.Indented
Dim xQualifiedName As XmlQualifiedName = New XmlQualifiedName("envelope", "mySchema.xsd")
Dim xSampleGen As XmlSampleGenerator = New XmlSampleGenerator("mySchema.xsd", xQualifiedName)
xSampleGen.WriteXml(xTextWriter)
Catch ex As Exception
MessageBox.Show(ex.Message)
MessageBox.Show("Stack Trace: " & vbCrLf & ex.StackTrace)
Finally
xTextWriter.Flush()
xTextWriter.Close()
End Try
End If
Return True
End Function
私は何がうまくいかないのか分かりませんが、何かすべての助けが大いに評価されます。
スキーマに基づいてXMLファイルを作成する方法が異なる場合は、私はすべて耳にします。私は、XMLライブラリを使って作業することは比較的新しいので、正式なトレーニングを受けていません。
スキーマは本当に作家の一部である必要はありません。コードは有効な結果を生成する必要があります。したがって、生成後に検証するのが通常は十分です。ネットで書く方法はたくさんあります。実際のXMLがどのように見えるかのサンプルがありますか?投稿してください。 – jdweng
私はXSDからXMLファイルを検証するのではなく、XSDドキュメントの詳細に基づいて空白からXMLを作成します。 – aberrantGeek
他の方法を尋ねるので、Visual Studioはノードを右クリックしてXML Schema Explorerからサンプルを生成できます。 – MrGadget