用XML表示深度嵌套的数据
我有以下数据模式的数据:用XML表示深度嵌套的数据,xml,database,database-design,Xml,Database,Database Design,我有以下数据模式的数据: Software + | | Microsoft | + | +--->Windows 10 +-->+ | +--->Windows 7 | | Google | + | +-->Chrome +-->+ +-->Orkut 我想以最佳的方式嵌套它,任何XML解析器都可以对其进行编辑,我最初的想法是这样做: <?xml version="1.0"?> <Software Name =
Software
+
|
| Microsoft
| +
| +--->Windows 10
+-->+
| +--->Windows 7
|
| Google
| +
| +-->Chrome
+-->+
+-->Orkut
我想以最佳的方式嵌套它,任何XML解析器都可以对其进行编辑,我最初的想法是这样做:
<?xml version="1.0"?>
<Software Name = "Company Software">
<HeadProduct Name = "Google">
<Product>Chrome</Product>
<Product>Orkut</Product>
</HeadProduct>
<HeadProduct Name = "Microsoft">
<Product>Windows 10</Product>
<Product>Windows 7</Product>
</HeadProduct>
</Software>
铬
奥库特
视窗10
视窗7
然而,我的直觉告诉我这是一个问题,绝对不是我想要的。原因如下:
虽然Google
和Microsoft
只是属性,windows10
和Orkut
是元素。我想到了一个我也会喜欢Google
和Microsoft
的地方。总而言之,我认为我没有正确地将模式转换为XML
任何帮助都是有益的。如果您想避免属性,这可能对您有用
<?xml version="1.0"?>
<Software>
<Name>Company Software</Name>
<HeadProducts>
<HeadProduct>
<Name>Google</Name>
<Products>
<Product>Chrome</Product>
<Product>Orkut</Product>
</Products>
</HeadProduct>
<HeadProduct>
<Name>Microsoft</Name>
<Products>
<Product>Windows 10</Product>
<Product>Windows 7</Product>
</Products>
</HeadProduct>
</HeadProducts>
</Software>
公司软件
谷歌
铬
奥库特
微软
视窗10
视窗7
任何XML解析器都可以读取任何XML,因此这不是一个好的要求,因为它总是正确的。你认为“最佳”的东西是非常主观的。有一些XML结构比其他结构更有意义,但这是a)一个连续统一体,而不是绝对统一体;b)它取决于许多因素,如果没有上下文,很难决定在任何给定情况下什么更有意义。@Tomalak老实说,我没有非常复杂的上下文。这就是我问题背后的原因:如果我理解你的意思:…
到…谷歌……