xml文件结构

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xml文件结构相关的知识,希望对你有一定的参考价值。

参考技术A

mycat1的配置文件使用了xml格式,在详细了解配置文件之前,先理解一下xml文件的结构和语法

XML文档是树状结构,必须包含根元素,根元素是所有其他元素的父元素
所有的元素都可以拥有子元素

XML元素指的是从开始标签直到结束标签的部分(包括开始标签和结束标签)
元素可以包含其他元素、文本或者两者都包括、元素也可以拥有属性
必须包含根元素,根元素是所有其他元素的父元素
xml元素以 <name> 开始,用 </name> 关闭
在 <name> 和 </name> 之间,可以包含其他的标签或者文本
元素的属性在开始标签 <name> 中进行定义,例如 <book category="CHILDREN"></book> ,属性值必须使用引号括起来
如果一个元素为空,没有内容,也可以使用"/"进行关闭

XML 文件中的“数据库”结构

【中文标题】XML 文件中的“数据库”结构【英文标题】:"Database" structure in XML file 【发布时间】:2020-09-16 11:24:41 【问题描述】:

所以我必须在必须有学校、成绩、房间、课程和学生的 xml 文档中定义一个“数据库”,然后我必须用 C# 编写一些必须获取数据并将数据保存到 xml 的类文件在反序列化和序列化的帮助下。 但问题是我不知道应该如何构建 XML 文件,现在我的文件如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<School>
   <Grades>

   </Grades>
   <Rooms>

   </Rooms>
   <Courses>

   </Courses>
   <Students>

   </Students>
</School>

但我一直想知道这是否是更好的方法:

<?xml version="1.0" encoding="utf-8" ?>
<School>
   <Grades>
      <Rooms>
         <Courses>
            <Students>

            </Students>
         </Courses>
      </Rooms>
   </Grades>
</School>

或者也许我忽略了第三种方式,任何帮助将不胜感激

【问题讨论】:

【参考方案1】:

这个问题是基于意见的。所以,这只是我的看法:

选择第一个布局并使用属性@IDs 在它们之间链接。 例如:

<?xml version="1.0" encoding="utf-8" ?>
<School>
   <Grades>
     <Grade id="gr1">...</Grade>
   </Grades>
   <Rooms>
     <Room id="rm1">...</Room>    
   </Rooms>
   <Courses>
     <Course id="crs1">
       <RoomNr>rm1</RoomNr>  <!-- Referring to the Rooms/Room/@id rm1 -->
       ...
     </Course>
   </Courses>
   <Students>
     <Student id="1">
       <Course>crs1</Course> <!-- Referring to the Courses/Course/@id crs1 -->
       <Course>...</Course>
     </Student>
   </Students>
</School>

此布局易于查询,更改链接不会显着改变布局。

例如(因为您用xslt 标记了您的问题):

可以使用 XPath-1.0 表达式检索所有 &lt;Student&gt;s

/School/Students/Student

检索访问某个课程的所有&lt;Student&gt;s(例如crs1)

/School/Students/Student[Course='crs1']

...等等。

【讨论】:

以上是关于xml文件结构的主要内容,如果未能解决你的问题,请参考以下文章

如何在保持结构的同时使用 xslt 重新排序 xml 文件

如何将用户创建的 QTreeItem 结构保存在 xml 文件中? [复制]

XML 文件中的“数据库”结构

如何在Java中创建具有特定结构的XML文件[重复]

如何为指定文件夹创建和保存包含完整文件和文件夹层次结构的 XML 文件?

XML文件解析数据结构