好的,这是特定的案例场景:
我的应用程序将接收一些XML输入。然后,应用程序需要呈现该XML输入,并在解析来自该XML输入的数据后进行一些计算。
该协议是,该应用程序与数据无关。它的代码在设计时无法知道有关XML数据和格式的详细信息。所以我要负责调用客户端工具来发送与XML数据相关的模式。基于该模式,应用程序将解析并理解它将接收的XML数据。
所以,问题: XML Schema可以指定我可能决定我的应用程序解析数据所需的任何自定义属性吗? 如果XML数据中的相应节点本身不指定这些属性,那可以吗? 在逐个节点地导航XML数据时,如何使用C#从XML模式加载相应的属性和值?
基本上,我需要在各种节点的模式中使用这样的自定义属性 - showInTable,isPrimary,graphable等等
感谢您的帮助。
答案 0 :(得分:0)
我想说的方法就是有一个固定的模式部分,用于存在的数据 - 即使它是可空的。
然后,让XML使用某种<metadata>
标记,以便您捕获任何其他信息。像
<Customer>
<Name>Joe Bloggs</Name>
<Age>65</Age>
<Metadata key="Criminal History">Grand Theft Auto</Metadata>
<Metadata key="Favourite Colour">Blue</Metadata>
</Customer>
可以使用Metadata
,minOccurs='0'
分享 maxOccurs='unbounded'
(如果已预先定义)。