0

XSD2Code からのコメントと共に C# エンティティを生成できる XSD2Code または xsd.exe のツールまたはバージョンはありますか?

XSD2Code と xsd.exe の両方が注釈を無視し (XSD2Code の場合、EnableSummaryComment はうまく機能しません)、それらの背後にあるソース コードの分析と変更に時間を費やしたくありません...完全に存在するかどうか誰かが知っていますか?作業と無料の代替?

4

3 に答える 3

5

XmlSchemaClassGeneratorは、要素、属性、および型の注釈をサポートしています。また、制限から XML ドキュメントを生成し、オープン ソースです。完全な開示: 私は主な著者です。

/// <summary>
/// <para>Complex root type.</para>
/// <para>Information root.</para>
/// </summary>
[System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "1.0.0.0")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute("root", Namespace="http://example.org/annotations")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlRootAttribute("root", Namespace="http://example.org/annotations")]
public partial class Root
{

    /// <summary>
    /// <para>
    ///            Test data in element.
    ///          </para>
    /// <para xml:lang="en">Minimum length: 1.</para>
    /// <para xml:lang="en">Maximum length: 50.</para>
    /// </summary>
    [System.ComponentModel.DataAnnotations.MinLengthAttribute(1)]
    [System.ComponentModel.DataAnnotations.MaxLengthAttribute(50)]
    [System.Xml.Serialization.XmlElementAttribute("TestElement", Namespace="http://example.org/annotations")]
    public string TestElement { get; set; }

    /// <summary>
    /// <para>
    ///          Optional test data in attribute.
    ///        </para>
    /// <para xml:lang="en">Minimum length: 1.</para>
    /// <para xml:lang="en">Maximum length: 50.</para>
    /// </summary>
    [System.ComponentModel.DataAnnotations.MinLengthAttribute(1)]
    [System.ComponentModel.DataAnnotations.MaxLengthAttribute(50)]
    [System.Xml.Serialization.XmlAttributeAttribute("TestAttribute", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string TestAttribute { get; set; }
}
于 2016-09-30T11:08:39.300 に答える
0

あなたが求めているものの例はありますか?たとえば、 xsd2code ではこれ

<xs:attribute name="Test" use="optional">
    <xs:annotation>
        <xs:documentation>Test data number when combined with schema name provides the stub response.</xs:documentation>
    </xs:annotation>
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="50"/>
        </xs:restriction>
    </xs:simpleType>
</xs:attribute>

これを生成します

/// <summary>
/// Test data number when combined with schema name provides the stub response.
/// </summary>
[System.Xml.Serialization.XmlAttributeAttribute()]
public string Test { get; set; }

あなたは何か違うものを求めていますか?

于 2012-11-08T22:32:44.117 に答える