‫欢迎回来｡
‫在本视频中, 我们将使用带有XML的链接｡
‫我在这里创建了一个小文件或者一个小项目叫做Link with XML｡
‫我还在这里创建了这个小字符串, 叫做Students XML, 它包含了一个XML字符串｡
‫这是一个XML类型的对象, 称为students, 其中包含多个对象｡
‫因此, 它包含一个名为Toni的学生对象, 年龄为21岁, 在本例中为University of Yale｡
‫而且有三个人｡
‫因此, XML代表可扩展标记语言, 这是一种或多或少用于创建数据或结构化数据的语言｡
‫在这个例子中, 我们有结构化的数据, 就像你看到的表格一样｡
‫这是一个名为students的表, 它包含多个学生,
‫或者单个学生, 他们有一个名为Name和A的列, 或者另一个名为H的列, 还有一个名为University的列.
‫它只是以一种不同的方式进行结构化, 您将在多种场合发现XML｡
‫例如, 许多网站使用XML来共享数据｡
‫因此, 有些API使用XML, 您可以直接使用它们的XML从Internet读取数据,
‫然后在程序中使用这些数据｡
‫假设您要放映本月的100部顶级电影｡
‫然后,
‫您可以继续从提供XML文件的网站加载该文件, 您只需围绕该XML文件的特定结构创建代码, 然后在您的程序或应用程序或网站中使用它｡
‫所以我在这里开了一个网站, 叫百度老鼠网｡
‫他们有一个实况足球XML文件, 所以你有这个XML文件｡
‫这当然要大得多, 有很多额外的信息, 但通常它的结构是一样的｡
‫所以你有这门足球课｡
‫然后当它被更新时, 你就有了它在哪个杯子里的类别｡
‫例如, 这是阿尔巴尼亚杯｡
‫然后是匹配项､ 日期格式､ 日期､ 匹配状态等等｡
‫这要复杂得多, 但大体上是相同的结构｡
‫所以你有这个匹配标签, 它在这里打开, 在这里关闭, 你只有一个匹配的特定日期在该特定类别,
‫你有地图状态, 这是当它开始｡
‫然后你也会看到目标｡
‫这次是个问号｡
‫所以这场比赛似乎并没有任何关于进球的附加信息｡
‫但是这里有一场阿根廷的比赛, 这里有多个项目｡
‫所以在第19分钟有一个进球｡
‫那么是谁在主队的位置上进球了, 那么是谁作为球员进球了？
‫那是球员埃尔比马, 然后是当时的结果, 等等｡
‫因此, 您可以看到有大量的信息, 您可以继续阅读, 然后在您的应用程序或程序中显示｡
‫这很酷｡
‫因此, XML非常强大, 它不仅用于足球,
‫它还用于所有应该显示的数据, 您只需获得它们的API｡
‫这只是一个XML文件, 这只是一个示例, 否则, 您必须获取它们的API密钥,
‫然后您可以继续调用这些XML文件, 并在程序中使用它们｡
‫天气也是一样｡
‫这是一个叫做Pixel. com的网站｡
‫比如说, 他们有天气信息｡
‫因此, 在本例中, 他们有用于JSON和XML文件的API｡
‫但我不打算深入探讨｡
‫我只是想给你们看一些例子｡
‫一般来说, 这就是XML的强大功能, 这也是我们要了解它的原因｡
‫因此, 您不需要访问数据库来充分使用数据,
‫但实际上可以访问XML文件或创建自己的XML文件｡
‫但这就是我们将要使用的结构｡
‫我们有一个学生的班级或者桌子, 如果你愿意的话, 在那里我们有多个条目｡
‫我们有一个叫托尼的学生, 21岁, 这所大学是耶鲁大学｡
‫好吧, 我会的
‫现在让我们继续使用它｡
‫为此, 我们需要在此处添加一个命名空间｡
‫命名空间叫做System Dot, XML, Dot Link, 现在我们可以继续使用这个类了,
‫因为否则我们就不能使用这个叫做X文档的类.
‫因此, 我们用这个学生创建了一个XML文档｡
‫XML字符串｡
‫我将创建一个student的x dock文件或对象, 其名称如下｡
‫而且应该是一个X文档｡
‫好吧, 我会的
‫现在, 我们可以继续初始化X文档, 具体方法如下｡
‫所以X文档, 点解析｡
‫所以我们从这个字符串解析, 从这个学生XML字符串解析｡
‫现在我们可以在链接中使用它｡
‫所以这很酷｡
‫我们不仅可以将link用于对象, 而且只能用于数据库或SQL, 我们稍后将看到这一点, 我们还可以将其用于XML,
‫这就是它的强大之处｡
‫你知道, XML本身就很强大, 但链接更强大, 因为它以同样的方式为我们做所有这些事情,
‫我们只需要给予它数据｡
‫无论它是XML､ C语言中的对象还是某种类型的数据库, 都没有关系｡
‫所以这很酷｡
‫现在, 我可以创建一个名为students的新变量, 它将自动成为一个集合｡
‫所以到目前为止, 它只是一个变量｡
‫它不知道它是什么类型的变量｡
‫我将在这里使用一个来自这个XML文档的链接｡
‫所以从student到students, x, doc, 点的后代, 这里是student｡
‫那么这是什么传人呢？
‫如果您将鼠标悬停在它上面, 您会看到它返回了一个筛选后的集合, 其中包含此文档的后代元素或按文档顺序排列的元素,
‫只有具有匹配的x名称的元素才会包含在集合中, x名称是这里的学生变量,
‫或者是我们提供的参数｡
‫所以它说, 正如你在这里看到的, 它是一个可枚举的和｡
‫这个学生｡
‫所以这和你在这里看到的打字完全一样｡
‫所以它检查学生x文档中的每个学生学生的x文档取学生的x html字符串, 对吗？
‫所以现在它把每一个学生都降下来, 一个一个地检查｡
‫所以这里的东西本身就是一个列表｡
‫我们正在检查学生名单上的每一个学生｡
‫这就是我们要做的｡
‫因此, 这是每种类型的行的, 现在我们可以继续创建一个新条目｡
‫所以选择新建｡
‫我们要选择什么？
‫我们需要一个名字, 这个名字就是student点元素.
‫这个元素, 你可以看到, 学生本身就是一个X元素.
‫所以如果你把鼠标悬停在它上面, 你会看到它是一个X类型的元素｡
‫现在我们可以使用这个方法, 这个方法叫做元素, 这里我们要给予一个x命名.
‫这么一个x小的名字, 可以说, 可以说｡
‫比如说, 这里是H大学｡
‫所以在这里这个名字就是我们的名字｡
‫我想得到这个名字的value属性, 然后我想得到H, 它是学生点元素,
‫这里我还想得到这个值｡
‫所以现在对你来说是一个小小的挑战, 在大学里做同样的事情｡
‫好吧, 我会的
‫我希望你试过了｡
‫大学的学生因素, 说明大学的价值｡
‫在这里, 我们可能不会忘记分号｡
‫好吧, 这已经很酷了｡
‫所以我们为我们的学生准备了这个系列｡
‫如你所见, 这是一个无数的集合, 其中有一个字符串叫name, 一个字符串叫H,
‫还有一个字符串叫university｡
‫所以A是新的｡
‫您可以看到, 我们这里有匿名类型｡
‫现在我们可以继续使用它了｡
‫因此, 我们可以使用for each循环, 例如, 检查学生集合中的每一个学生,
‫并将其打印到屏幕上｡
‫所以对于每个和和这里是学生中的学生｡
‫所以在那一个｡
‫我想做什么？
‫我只是想在控制台上写点东西｡
‫看两个制表符, 我会说一些像0号学生和1号的H来自2号大学｡
‫这些号码是谁的？
‫嗯, 他们是学生点名称, 然后学生点H和学生点大学｡
‫所以这很酷｡
‫所以我们取这个学生对象, 它在学生集合中｡
‫所以集合中的每一个对象我们都可以在这里使用它的属性｡
‫如您所见, 有一个名为name的属性, 这非常酷｡
‫因此, 我们可以简单地检查控制台思想的右行, 现在让我们运行代码｡
‫这就是我们, 来自耶鲁大学的学生托尼, 21岁｡
‫然后是卡拉, 她在耶鲁很年轻, 17岁, 莱拉在北京理工大学, 19岁｡
‫所以你在这里｡
‫您可以简单地使用这种类型的数据, 也就是XML数据, 并以您希望的方式使用它｡
‫在我们的例子中,
‫我们只是使用它来显示它, 但你也可以使用它来在你的应用程序中显示它, 例如, 你在大学里拥有的一个用户或所有学生的所有信息｡
‫假设你的教授和你想更多地了解你的学生, 为下学期做好准备｡
‫然后, 您可以使用此XML结构来获取有关此学生的信息并进行检查｡
‫现在, 作为一个小挑战, 这是你们在上一个视频中看到的, 那就是排序｡
‫所以请继续按年龄对学生进行分类｡
‫因此, 我们的XML文件中的学生, 请继续尝试｡
‫好吧, 我会的
‫我希望你试过了｡
‫所以我们使用了这个新的变量, 叫做sorted students, 它来自于students中的student,
‫我们按照student的点龄排序｡
‫而我们只选择学生本身｡
‫所以选择学生, 就这样｡
‫现在我们简单地再次使用for each循环来显示H的学生｡
‫所以我将不使用学生, 而是使用商店对学生进行分类｡
‫现在我要在控制台上写上和之前一样的内容, 但要按年龄排序｡
‫这就是这个新方法的作用｡
‫我们是学生卡拉17, 然后莱拉19和2021｡
‫所以你看, 以前它们不是按年龄分类的, 但现在它们是｡
‫我希望你自己试着去做, 而且你能做到｡
‫我很快地讲了一遍, 但那是因为我们已经使用了这个结构和方法,
‫所以你可以简单地按一个特定的变量来排序｡
‫所以在这种情况下由H｡
‫好吧, 我会的
‫接下来是一个更进一步的挑战, 请在这里添加另一种信息, 并添加另一名学生｡
‫我所说的信息是指姓名､ 年龄或大学等｡
‫可能是他们所在的年份或学期｡
‫因此, 请继续并使用此XML文件进行尝试｡
‫因此, 将其扩展到每个学生, 然后继续创建另一个学生｡
‫所以你得先练习一下｡
‫好吧, 我会的
‫我希望你试过了｡
‫所以我在这里用学期｡
‫我们将是一个学期, 假设托尼在第六个学期, 我们需要结束它｡
‫因此, 错过了学期, 现在我们做同样的事情, 我们的其他学生｡
‫实际上, 让我们把整行都像这样复制｡
‫这样会好一点｡
‫我们假设卡拉在第一学期, 然后我们有莱拉, 她在第三学期.
‫好吧, 我会的
‫现在我说, 再加一个学生｡
‫我将复制这段学生的作品, 然后创造一个弗兰克, 他今年25岁,
‫正在上第十个学期.
‫所以她他在读硕士, 或者甚至｡
‫是的, 我知道
‫一些博士学位之类的｡
‫是的, 现在我们可以继续在这里扩展我们的代码｡
‫这是我想给予你们的另一个挑战｡
‫因此, 请继续扩展此处的代码, 使其也显示学期｡
‫因此, 不只是这里的这段代码, 实际上还有每个的｡
‫好吧, 我会的
‫我希望你试过了｡
‫我把它命名为semporn, 这是一个学生点元素｡
‫这里是学期点值｡
‫当然, 这里我们需要加上逗号｡
‫让我们把这段文字加在他的雪泥里, 她, 我会保持简单, 因为我们这里没有性别, 他,
‫她｡
‫现在是第三或第三学期｡
‫它不会说第三或第二或类似的东西｡
‫我不想把事情弄得那么复杂, 但我会让它保持简单｡
‫现在是学生学期, 我们在这里｡
‫所以现在我们可以去看看了｡
‫让我们运行代码, 我们应该看到我们的学生的学期值以及｡
‫顺便说一下, 如果我运行代码, 我会得到一个错误｡
‫这真的很好, 因为正如你所看到的, 这里非常敏感｡
‫我在这里有一个学期, 在这里也有一个学期你们可能已经注意到了.
‫所以打字要完全一样这一点非常重要｡
‫所以它应该以完全相同的方式编写, 否则会出现错误｡
‫它说, 嘿, 开始标签和结束标签, 它们不匹配｡
‫所以我要重新开始｡
‫然后我们就在一起了｡
‫我们有一个21岁的大学生托尼｡
‫耶鲁大学已经是第六个学期了｡
‫然后我们有卡拉谁是在她的第一个学期｡
‫莱拉已经上第三学期了｡
‫最后是弗兰克, 他一直在学习.
‫他在他的第十个学期, 然后他们仍然在这里订购｡
‫另一个for each循环没有使用任何额外的信息, 所以它不知道学期,
‫因为这里我们也没有使用学期｡
‫好吧, 我会的
‫正如你所看到的, 这是超级可扩展的, 非常容易扩展你的XML文件｡
‫您可以在此处添加另一个标记并添加信息｡
‫您甚至可以让它保持打开状态, 这样您就不需要在程序中使用它｡
‫假设我们有另一种信息｡
‫你不需要加这个｡
‫所以如果我们不想用学期和年龄, 那也没问题｡
‫所以我们不需要使用对象中的每一个标签, 但是我们可以这样做, 这是非常强大的｡
‫好吧, 太好了｡
‫现在, 您已经了解了如何使用XML链接, 我们可以开始学习了｡
‫因此, 更广泛､ 更强大的工作方式是自己使用数据库｡
‫让我们在下一个视频中进行演示｡
‫到时候见｡