私は XSD を持っています ( http://web.rete.toscana.it/eCompliance/portale/dispatcher?from=rfc&pathname=%2Fapps%2Ftsf%2Fdata%2FeCompliance%2FeCRepository%2Frfc%2F0098で定義されている標準の RFC xsd です) .06%2F98.6.zip ) と
<complexType name="EventoClinico">
...
<sequence>
...
<element name="Corpo" type="sisrt:Corpo" minOccurs="0" />
</sequence>
...
</complexType>
そして「コーポ」は
<complexType name="Corpo">
<sequence>
<any namespace="##any" processContents="lax" />
</sequence>
</complexType>
xsd.exe ツールは Corpo 要素を
public XmlElement Corpo;
財産。
質問は:
カスタムクラスでプロパティを埋めるにはどうすればよいですか:
public class Example{
public string AString {get;set;}
}
EventoClinico.Corpo = new Example("a string"); を設定するにはどうすればよいですか?
多くの点。
フランチェスコ。
以下の投稿で提案されている解決策を次に示します。
public XmlElement Convert<TObj>(TObj obj) {
XmlSerializer s = new XmlSerializer(typeof(TObj));
StringBuilder sb = new StringBuilder();
XmlWriterSettings settings= new XmlWriterSettings();
//settings.ConformanceLevel=ConformanceLevel.Fragment;
settings.OmitXmlDeclaration=true;
XmlWriter w = XmlWriter.Create(sb, settings);
s.Serialize(w, obj);
return ToXmlElement(sb.ToString());
}
public XmlElement ToXmlElement(string xml)
{
XmlDocumentFragment frag = new XmlDocument().CreateDocumentFragment();
frag.InnerXml = xml;
return frag.FirstChild as XmlElement;
}