首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >定义字符串数组的XmlSchemaSet

定义字符串数组的XmlSchemaSet
EN

Stack Overflow用户
提问于 2020-05-25 15:33:56
回答 2查看 36关注 0票数 0

我需要为这个对象创建一个XmlSchemaSet

代码语言:javascript
复制
public class ChartData
{
    public string[] SeriesNames;
     //enum
    public ChartDataType CategoryDataType;
    public int CategoryFormatCode;
    public string[] CategoryNames;

    public double[][] Values;
}

我尝试了seriesNames的这个定义,但是它没有给出错误消息:

在此上下文中不支持'http://www.w3.org/2001/XMLSchema:complexType'元素。

代码语言:javascript
复制
<xs:schema attributeFormDefault='unqualified' elementFormDefault='qualified' xmlns:xs='http://www.w3.org/2001/XMLSchema'>
  <xs:element name='Chart'>
    <xs:complexType>
      <xs:attribute name='SeriesNames'>
        <xs:complexType>
          <xs:attribute maxOccurs='unbounded'  type='xs:string'/>
        </xs:complexType>
      </xs:attribute>
      <xs:attribute name='Values' type='xs:string' use='required' />
      <xs:attribute name='CategoryDataType' type='xs:string' use='optional' />  
      <xs:attribute name='CategoryFormatCode' type='xs:string' use='optional' />
      <xs:attribute name='CategoryNames' type='xs:string' use='required' />
      <xs:attribute name='Optional' type='xs:boolean' use='optional' />
    </xs:complexType>
  </xs:element>
</xs:schema>

如果我使用这个定义:

代码语言:javascript
复制
<xs:attribute name='SeriesNames' type='xs:string' use='required' />

当我使用XPathEvaluate时,它不会读取字符串数组

如有任何帮助,将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2020-05-25 20:08:07

尝试以下几个方面:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema attributeFormDefault='unqualified' elementFormDefault='qualified' xmlns:xs='http://www.w3.org/2001/XMLSchema'>
  <xs:element name='Chart'>
    <xs:complexType>
      <xs:sequence>
        <xs:element name='SeriesNames' type='xs:string' minOccurs="0" maxOccurs='unbounded'/>
      </xs:sequence>
      <xs:attribute name='CategoryDataType' type='xs:string' use='optional' />  
      <xs:attribute name='CategoryFormatCode' type='xs:string' use='optional' />
      <xs:attribute name='CategoryNames' type='xs:string' use='required' />
      <xs:attribute name='Optional' type='xs:boolean' use='optional' />
    </xs:complexType>
  </xs:element>
</xs:schema>
票数 0
EN

Stack Overflow用户

发布于 2020-05-26 06:28:13

谢谢您的回复,但是当我执行定义时,我得到了错误:模式验证错误:“SeriesNames”属性没有声明。

我执行的代码如下:

代码语言:javascript
复制
var XsdMarkup = @"<xs:schema attributeFormDefault='unqualified' elementFormDefault='qualified' xmlns:xs='http://www.w3.org/2001/XMLSchema'>
                               <xs:element name='Chart'>
                                <xs:complexType>
                                         <xs:sequence>
    <xs:element name='SeriesNames' type='xs:string' minOccurs="0" maxOccurs='unbounded'/>
  </xs:sequence>
                                   <xs:attribute name='Values' type='xs:string' use='required' />
                                   <xs:attribute name='CategoryDataType' type='xs:string' use='optional' /> 
                                   <xs:attribute name='CategoryFormatCode' type='xs:string' use='optional' />   
                                   <xs:attribute name='CategoryNames' type='xs:string' use='required' />    
                                  <xs:attribute name='Optional' type='xs:boolean' use='optional' />                                                                                                
                                </xs:complexType>
                              </xs:element>
                            </xs:schema>";
XmlReader = XmlReader.Create(new StringReader(XsdMarkup));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62005771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档