2010-07-29 74 views
1

所以在任何人告诉我之前我不应该这样做,我完全同意。不过,我有一个来自第三方的xml DataFeed。我已经向他们伸出手来看看他们是否可以改变它,但我认为我最好从双方进攻。是否可以创建一个支持具有相同名称的父节点和子节点的xsd?

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中 微软(R)的XML架构/数据类型的支持实用 [微软(R).NET Framework,Version 2.0.50727.3038] 版权(C)Microsoft Corporation。版权所有。 错误:处理'sample.xml'时发生错误。 - 表(标签)不能是嵌套关系中的子表本身。

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

回答

1

嗯,我发现“一种方式”,虽然我不知道这是一种好方法。它看起来像一个XSD文件与递归命名节点没有任何问题。这只是xsd.exe工具。我所做的是将内部<Tag>节点重命名为<Tag2>,这使我可以生成xsd文件。然后我在Visual Studio中打开了xsd,并将其重命名为<Tag>

看起来这更像是我对工具的依赖以及对XSD/XML缺乏认识的结果,但如果有人对此有更深入的了解,我会喜欢它。

相关问题