【问题标题】:Is it possible to create an xsd that supports a parent node and child node having the same name?是否可以创建一个支持同名父节点和子节点的xsd?
【发布时间】:2010-07-29 22:47:16
【问题描述】:

所以在有人告诉我不应该这样做之前,我完全同意。但是我有一个来自第三方的 xml DataFeed。我已经在联系他们,看看他们是否可以改变它,但我想我最好从双方攻击它。

XML 中有问题的标签如下:

    <Tags>
      <TagDimension id="Topic">
        <ExternalId>Topic</ExternalId>
        <Tags>
          <Tag>
            <Label>awesome</Label>
          </Tag>
        </Tags>
      </TagDimension>
    </Tags>

我绝不是 XML/XSD 专家。我的技能包括从给我带来的 VS 命令行运行 xsd.exe:

C:\temp>xsd sample.xml Microsoft (R) Xml Schemas/DataTypes 支持实用程序 [Microsoft (R) .NET Framework,版本 2.0.50727.3038] 版权所有 (C) 微软公司。版权所有。 错误:处理“sample.xml”时出错。 - 在嵌套关系中,表(标签)不能是其自身的子表。

处理这个问题的最佳方法是什么?

【问题讨论】:

    标签: xml xsd


    【解决方案1】:

    好吧,我找到了“一种方法”,尽管我不确定它是否是一种好方法。看起来 XSD 文件对递归命名节点没有任何问题。它只是 xsd.exe 工具。我所做的是将内部&lt;Tag&gt; 节点重命名为&lt;Tag2&gt;,这样我就可以生成xsd 文件了。然后我在 Visual Studio 中打开 xsd 并将其重命名为 &lt;Tag&gt;

    看起来这更多是因为我对工具的依赖以及对 XSD/XML 缺乏了解,但如果有更多知识渊博的人能加入进来,我会很高兴的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-22
      相关资源
      最近更新 更多