【问题标题】:How to avoid "The element 'x' in namespace 'x.xsd' has invalid child element 'Items' in namespace 'x.xsd'"?如何避免“命名空间'x.xsd'中的元素'x'在命名空间'x.xsd'中具有无效的子元素'Items'”?
【发布时间】:2009-10-14 22:16:46
【问题描述】:

我有一个xml文件,其结构是用以下xsd定义的:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://schemas.TEST.com/TEST/TEST.xsd" elementFormDefault="qualified" xmlns="http://schemas.TEST.com/TEST/TEST.xsd" xmlns:mstns="http://schemas.TEST.com/TEST/TEST.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Element">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Name" type="xs:string" />
        <xs:element name="Items">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="ItemName" type="xs:string" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

现在我正在尝试根据之前定义的 xsd 创建一些测试 xml 数据:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Element xmlns="http://schemas.TEST.com/TEST/TEST.xsd">
   <Name>John Blue</Name>
   <Items>
      <ItemName>test</ItemName>
   </Items>
   <Items>
      <ItemName>test2</ItemName>
   </Items>
   <Items>
      <ItemName>test3</ItemName>
   </Items>
</Element>

由于重复的“项目”元素,此 xml 文件被视为无效。 有没有办法解决这个问题?

【问题讨论】:

    标签: .net xml xsd


    【解决方案1】:

    怎么样

    <xs:element name="Items" maxOccurs="unbounded">
    

    【讨论】:

    • 非常感谢,我感觉它必须用“maxOccurs”做一些事情,但不够聪明,无法测试:-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-18
    • 1970-01-01
    • 1970-01-01
    • 2012-04-04
    相关资源
    最近更新 更多