我使用Visual Studio工具(現在的Win 7 SDK Tools)中的XSD.Exe從xml文件創建了一個.xsd。 我.xsd文件:「System.InvalidOperationException」 - xsd XSD2Code樣式表XML C#Visual Studio
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="SceneFile" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="Scene">
<xs:complexType>
<xs:sequence>
<xs:element name="VNESceneName" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VNEPlayerName" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="VNEButtons" minOccurs="0" maxOccurs="1">
(板缺sicne它太長) 然後我用XSD2Code(一種用於VS外接)創建了.Designer.cs文件:
namespace VNEngine
{
using System;
using System.Diagnostics;
using System.Xml.Serialization;
using System.Collections;
using System.Xml.Schema;
using System.ComponentModel;
using System.IO;
using System.Text;
using System.Collections.Generic;
public partial class Scene
{
private string vNESceneNameField;
private string vNEPlayerNameField;
private List<SceneVNEButton> vNEButtonsField;
private SceneVNETextBox vNETextBoxField;
private SceneVNEBackground vNEBackgroundField;
private List<SceneVNESprite> vNESpritesField;
private SceneVNEMusic vNEMusicField;
private static System.Xml.Serialization.XmlSerializer serializer;
public Scene()
{
this.vNEMusicField = new SceneVNEMusic();
this.vNESpritesField = new List<SceneVNESprite>();
this.vNEBackgroundField = new SceneVNEBackground();
this.vNETextBoxField = new SceneVNETextBox();
this.vNEButtonsField = new List<SceneVNEButton>();
}
public string VNESceneName
{
get
{
return this.vNESceneNameField;
}
set
{
this.vNESceneNameField = value;
}
}
(板缺sicne它太長)
現在我想創建一個「場景」(根XML標籤)在我的C#代碼:
Scene testscene = new Scene();
testscene.VNEPlayerName = "hallo";
所有到這一點的工作,但是當我想保存或序列化(或反序列化)是這樣的:
testscene.SaveToFile(@"Content/Scenes/testscene.xml");
現在在執行我得到在該行的錯誤(SceneFiles.designer.cs )
private static System.Xml.Serialization.XmlSerializer Serializer
{
get
{
if((serializer == null))
{
---> serializer = new System.Xml.Serialization.XmlSerializer(typeof(Scene));
}
return serializer;
}
}
我的錯誤是這樣的:
//
EINE nicht behandelte Ausnahm e des Typs System.Xml.dll aufgetreten中的「System.InvalidOperationException」ist。
創建信息:Fehler beim Reflektieren des Typs 'VNEngine.Scene'。
//
我粗略英譯:
一個沒有處理異常:System.InvalidOperationException出現在 system.xml.dll的其它信息:錯誤的反射類型 'VNEngine.Scene'
//
有誰知道我做了什麼錯?
同樣的事情可以使用小而不是複雜的,而不是與xsd.exe generatet .xsd樣式表一起使用。