使用xsd.exe生成C#类时出错

时间:2013-11-18 13:08:43

标签: c# xml visual-studio-2010 xsd.exe

我有XML文件,我想通过使用xsd.exe工具制作C#类。但是在运行该工具时,它会出现以下错误

  

无法将嵌套关系或元素列添加到包含simplecontent列的表

我正在使用此声明

c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin>xsd d:\XMLResponse.xml /o:d:\

上面讨论过xml是一个响应,所以我想制作它的类来操纵那个响应。

XML文件太长了以至于我无法粘贴它,所以我给它link。链接共享只是为了理解问题而没有别的。

2 个答案:

答案 0 :(得分:3)

  

@Adriano我已经看到了这个问题但我在xml中看不到任何具有不同结构的重复xml元素。

另一个帖子中提到了两件事:

1)您的问题是您在文档中的某个位置具有相同的元素名称。

2)看起来你的xml包含一个既包含文本子元素(简单内容)又包含其他元素子元素的元素。

经过快速检查后,我在xml中找到了两个的示例:

第172行:

<ConditionValues> ConditionValuesDefinitionType </ConditionValues> 

第306行,进一步:

<ConditionValues> ConditionValuesType 
  <Condition> ConditionType 
    <DisplayName> string </DisplayName> 
    <ID> int </ID> 
  </Condition> 
  <!-- ... more Condition nodes allowed here ... -->
  <ConditionHelpURL> anyURI </ConditionHelpURL> 
</ConditionValues> 

答案 1 :(得分:1)

我希望这会有所帮助:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
public class GetCategoryFeaturesResponse
{
string m_Category = "";
public string Category {
    get { return m_Category; }
    set { m_Category = value; }
}

string m_CategoryVersion = "";
public string CategoryVersion {
    get { return m_CategoryVersion; }
    set { m_CategoryVersion = value; }
}

string m_FeatureDefinitions = "";
public string FeatureDefinitions {
    get { return m_FeatureDefinitions; }
    set { m_FeatureDefinitions = value; }
}

string m_SiteDefaults = "";
public string SiteDefaults {
    get { return m_SiteDefaults; }
    set { m_SiteDefaults = value; }
}

string m_UpdateTime = "";
public string UpdateTime {
    get { return m_UpdateTime; }
    set { m_UpdateTime = value; }
}

string m_Ack = "";
public string Ack {
    get { return m_Ack; }
    set { m_Ack = value; }
}

string m_Build = "";
public string Build {
    get { return m_Build; }
    set { m_Build = value; }
}

string m_CorrelationID = "";
public string CorrelationID {
    get { return m_CorrelationID; }
    set { m_CorrelationID = value; }
}

string m_Errors = "";
public string Errors {
    get { return m_Errors; }
    set { m_Errors = value; }
}

string m_HardExpirationWarning = "";
public string HardExpirationWarning {
    get { return m_HardExpirationWarning; }
    set { m_HardExpirationWarning = value; }
}

string m_Timestamp = "";
public string Timestamp {
    get { return m_Timestamp; }
    set { m_Timestamp = value; }
}

string m_Version = "";
public string Version {
    get { return m_Version; }
    set { m_Version = value; }
}
  }

我没有检查通过此tool生成的代码 P.S:我删除了使该工具变得疯狂的xml评论:)