Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XML是如何使用和解释的?_Xml_Language Agnostic - Fatal编程技术网

XML是如何使用和解释的?

XML是如何使用和解释的?,xml,language-agnostic,Xml,Language Agnostic,我的理解是,XML用于使用用户定义的标记在两个应用程序之间进行通信 我做了一些研究,发现了许多关于XML的教程,但没有任何描述在何处使用XML的教程 我的理解是,XML以用户友好著称。我的意思是,您可以定义自己的自定义标记。但我想知道这些标签在哪里,如何解释 请向我介绍有关在何处使用XML以及如何解释XML文件含义的参考资料,以便我能够理解其基础知识并有效地使用它。。它提供了一组用于以机器可读形式构造和编码文档的规则 XML涉及文档的语法和文档中对象之间的关系,但很少涉及文档或文档中对象的语义或

我的理解是,XML用于使用用户定义的标记在两个应用程序之间进行通信

我做了一些研究,发现了许多关于XML的教程,但没有任何描述在何处使用XML的教程

我的理解是,XML以用户友好著称。我的意思是,您可以定义自己的自定义标记。但我想知道这些标签在哪里,如何解释

请向我介绍有关在何处使用XML以及如何解释XML文件含义的参考资料,以便我能够理解其基础知识并有效地使用它。

。它提供了一组用于以机器可读形式构造和编码文档的规则

XML涉及文档的语法和文档中对象之间的关系,但很少涉及文档或文档中对象的语义或意义

语义——或者如您所说,它们是如何解释的——被捕获到处理文档的代码中

编程环境必须提供一种或多种处理-解析-XML内容的方法。但是如上所述,解析后的解释就交给应用程序了

例如,具有多个可用的XML解析器。其中两个是和

请记住,XML解析器可以帮助您理解文档的语法,但含义来自您的代码以及您如何解释文档的内容和结构

例如,下面的文档可以表示很多内容,但我的代码将其解释为一个配置文件,用于指定一组服务器、它们的操作系统、操作系统版本和IP地址

<config logdir="/var/log/foo/" debugfile="/tmp/foo.debug">
    <server name="sahara" osname="solaris" osversion="2.6">
      <address>10.0.0.101</address>
      <address>10.0.1.101</address>
    </server>
    <server name="gobi" osname="irix" osversion="6.5">
      <address>10.0.0.102</address>
    </server>
    <server name="kalahari" osname="linux" osversion="2.0.34">
      <address>10.0.0.103</address>
      <address>10.0.1.103</address>
    </server>
  </config>

10.0.0.101
10.0.1.101
10.0.0.102
10.0.0.103
10.0.1.103

正如您所说,我们使用XML在应用程序之间传递数据,这些应用程序通常使用不同的编程语言编写,因此XML为我们提供了一种通用的数据格式

当我们进入应用程序代码本身时,使用langauges自然构造是最方便的。例如:

<Order>
       <Customer name="bill" phone="123-345456" >   
       etc.       
</Order>

因此,不同的编程环境将有不同的方法来处理此类转换。在Java世界中,有几种方法可以实现XML和Java之间的映射。现在JAX/B越来越多地被使用,我举了一个简单的例子,在这个例子中,您将看到执行转换所需的代码非常少。

您的问题听起来像是在比较XML和html,并且想知道浏览器如何猜测自定义标记的含义。事实上,它不能。您必须用XSLT编写翻译脚本,并将其连接到XML文件(例如)。当然,XML并不是只用于添加翻译步骤的工具。在这种情况下,当您想用原始数据构建HTML页面时,可以使用它。

您在理解XML在全局中的位置时遇到的困难是常见的

当您向某人发送带有Word附件的电子邮件时,涉及到多个级别的协议:TCP/IP、电子邮件协议、Word文档格式。但归根结底,你的信息只有在收件人懂英语,明白你在说什么的情况下才有意义。Word为文档的格式提供了一个标准(多种类型),但是为了理解消息,发送者和接收者仍然需要一个共同的词汇表来描述他们想要讨论的主题。XML与Word在图片的层次上是一致的——它标准化了消息的格式,但让用户可以自由决定自己的词汇表。有许多词汇表已经在XML的基础上进行了标准化(用于金融消息、SVG图形、音乐、数学公式等),但XML的优势在于,您可以将其用于任何您喜欢的词汇表,同时还可以从中获得通用格式和语法的好处


但是,正如您可以将Word文档发送给不懂它的人,因为他们不会说英语一样,您也可以将包含XBRL财务数据的XML文档发送给不懂它的人,比如说,因为他们不懂XBRL词汇表。

XML对用户不友好。它很难阅读,也很难编辑。如果您正在考虑一种人类可读的通信格式,请考虑JSON或类似的格式。XML一文不值。@skaffman感谢您的编辑…@SK logic:您尝试过手工编写一个大型JSON对象吗?我想说,XML和JSON或多或少都是人类可读的,更少甚至更糟的是人类可写的——但我们有不错的编写编辑器。两者都比以前好-例如binary:-)@djna:两者都比以前差得多-S-expressions。如果我错了,请纠正我……上面提到的XSLT是由您要与之通信的应用程序定义的……如果您正在与之通信的应用程序是您的浏览器,则使用我提到的XSLT。其他应用程序可能会直接读取XML文件。@Radheshyam Nayak:要使您的XML对浏览器可读,您必须自己定义XSLT脚本。其他应用程序必须能够读取XML——如果他们不知道,他们就不知道。您不能发明一些新的XML标记名而期望应用程序知道它。这是真的吗Java-------->XMLYes。XML只是文本,为什么不可能呢?我想说,异构场景(不同的操作系统、不同的语言等)将是主要的XML用例。
 customer.getName()