7

次の xsi:schemaLocation をシリアル化されたクラスに追加するにはどうすればよいですか?

<ern:NewReleaseMessage xmlns:ern="http://ddex.net/xml/2010/ern-main/32"
                       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                       LanguageAndScriptCode="en"
                       xsi:schemaLocation="http://ddex.net/xml/2010/ern-main/32 http://ddex.net/xml/2010/ern-main/32/ern-main.xsd"
                       MessageSchemaVersionId="2010/ern-main/32">

これが私がこれまでに行ったことです:

public class NewReleaseMessage
{
    [XmlAttribute]
    public string LanguageAndScriptCode { get; set; }

    [XmlAttribute("schemaLocation", Namespace = "http://ddex.net/xml/2010/ern-main/32")] 
    public string  schemaLocation = "http://ddex.net/xml/2010/ern-main/32 http://ddex.net/xml/2010/ern-main/32/ern-main.xsd";

    [XmlAttribute]
    public string MessageSchemaVersionId { get; set; }

    [XmlElement()]
    public MessageHeader MessageHeader { get; set; }

}

VS で xml をオブジェクトに逆シリアル化すると、次のようになります。

{「メソッドまたは操作は実装されていません。」XML ドキュメントにエラーがあります (5, 44) - これは実際には次の行を指しています: xsi:schemaLocation="http://ddex.net/xml/2010/ern-main/32 http://ddex.net/ xml/2010/ern-main/32/ern-main.xsd "

4

2 に答える 2

9

ソウルション:

[XmlAttribute(AttributeName = "schemaLocation", Namespace = "http://www.w3.org/2001/XMLSchema-instance")]
public string schemaLocation { get; set; }
于 2013-01-23T23:43:24.973 に答える