Maison développement back-end Tutoriel XML/RSS Introduction détaillée aux exemples de code de principe XML

Introduction détaillée aux exemples de code de principe XML

Mar 31, 2017 pm 02:18 PM

XML 简介 
XML 被设计用来传输和存储数据。类似于JSON。 
XML 指可扩展标记语言(EXtensible Markup Language) 
XML 是一种标记语言,很类似 HTML 
XML 的设计宗旨是传输数据,而非显示数据 
XML 标签没有被预定义。您需要自行定义标签。 
XML 被设计为具有自我描述性。 
XML 是 W3C 的推荐标准 
XML 被设计用来结构化、存储以及传输信息。(没有格式双方很难知道信息的结构内容) 
实例: 

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

<note> 
  <to>George</to> 
  <from>John</from> 
  <heading>Reminder</heading> 
  <body>Don&#39;t forget the meeting!</body> 
</note>
Copier après la connexion

实例解释:
第一行是 XML 声明。它定义 XML 的版本 (1.0) 和所使用的编码 (ISO-8859-1 = Latin-1/西欧字符集)。
描述文档的根元素

<note>//根元素的开始 
  ** 
</note> //根元素的结尾
Copier après la connexion

4个子元素

<to>George</to> 
<from>John</from> 
<heading>Reminder</heading> 
<body>Don&#39;t forget the meeting!</body>
Copier après la connexion

就这样XML文档会形成一种树结构,如下:

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

<note> 
  <to>George</to> 
  <from>John</from> 
  <heading>Reminder</heading> 
  <body> 
    <A>George</A> 
    <B>John</B> 
    <C>Reminder</C> 
  </body> 
</note>
Copier après la connexion

所有 XML 元素都须有关闭标签

<p>This is a paragraph	//错 
<p>This is a paragraph</p>	//对
Copier après la connexion

XML 标签对大小写敏感

<Message>这是错误的。</message> //错 
<message>这是正确的。</message> //对
Copier après la connexion

XML 必须正确地嵌套

<b><i>This text is bold and italic</b></i>	//错 
<b><i>This text is bold and italic</i></b>	//对
Copier après la connexion

XML 的属性值须加引号

<note date=08/08/2008>	//错 
  <to>George</to> 
  <from>John</from> 
</note> 

<note date="08/08/2008"> //对 
  <to>George</to> 
  <from>John</from> 
</note>
Copier après la connexion

实体引用:就是特殊字符的转意。
< < 小于
> > 大于
& & 和号
' ' 单引号
" " 引号

<message>if salary &lt; 1000 then</message>
Copier après la connexion

想要的:

<message>if salary < 1000 then</message>
Copier après la connexion

XML 中的注释

<!-- This is a comment -->
Copier après la connexion

在 XML 中,空格会被保留

HTML 会把多个连续的空格字符裁减(合并)为一个:

HTML:Hello           my name is David. 
输出:Hello my name is David.
Copier après la connexion

在 XML 中,文档中的空格不会被删节。

XML 元素
开始标签直到(且包括)结束标签的部分。如:

<from>John</from>
Copier après la connexion

元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。如:

<book category="CHILDREN">	//category(属性) 
  <title>Harry Potter</title> //book的子元素,这个子元素只有文本内容 
  <author>J K. Rowling</author> 
  <year>2005</year> 
  <price>29.99</price> 
</book>
Copier après la connexion

XML 命名规则

XML 元素必须遵循以下命名规则:
名称可以含字母、数字以及其他的字符
名称不能以数字或者标点符号开始
名称不能以字符 “xml”(或者 XML、Xml)开始
名称不能包含空格

XML 元素 vs. 属性

<person sex="female">	//属性 
  <firstname>Anna</firstname> 
  <lastname>Smith</lastname> 
</person> 

<person> 
  <sex>female</sex>	//元素 
  <firstname>Anna</firstname> 
  <lastname>Smith</lastname> 
</person>
Copier après la connexion

没有什么规矩可以告诉我们什么时候该使用属性,而什么时候该使用子元素,在 XML 中,
您应该尽量避免使用属性。如果信息感觉起来很像数据,那么请使用子元素吧。

属性无法包含多重的值(元素可以)
属性无法描述树结构(元素可以)
属性不易扩展(为未来的变化)
属性难以阅读和维护

XML 命名空间(XML Namespaces)

XML 命名空间提供避免元素命名冲突的方法。
这个 XML 文档携带着某个表格中的信息:

<table> 
   <tr> 
   <td>Apples</td> 
   <td>Bananas</td> 
   </tr> 
</table>
Copier après la connexion

这个 XML 文档携带有关桌子的信息(一件家具):

<table> 
   <name>African Coffee Table</name> 
   <width>80</width> 
   <length>120</length> 
</table>
Copier après la connexion

由于两个文档都包含带有不同内容和定义的

元素,就会发生命名冲突。

使用前缀来避免命名冲突

<h:table> 
   <h:tr> 
   <h:td>Apples</h:td> 
   <h:td>Bananas</h:td> 
   </h:tr> 
</h:table> 

<f:table> 
   <f:name>African Coffee Table</f:name> 
   <f:width>80</f:width> 
   <f:length>120</f:length> 
</f:table>
Copier après la connexion

使用命名空间(Namespaces)

<h:table xmlns:h="http://www.w3.org/TR/html4/"> 
   <h:tr> 
   <h:td>Apples</h:td> 
   <h:td>Bananas</h:td> 
   </h:tr> 
</h:table>
Copier après la connexion

此 XML 文档携带着有关一件家具的信息:

<f:table xmlns:f="http://www.w3school.com.cn/furniture"> 
   <f:name>African Coffee Table</f:name> 
   <f:width>80</f:width> 
   <f:length>120</f:length> 
</f:table>
Copier après la connexion

默认的命名空间(Default Namespaces)

为元素定义默认的命名空间可以让我们省去在所有的子元素中使用前缀的工作。

<table xmlns="http://www.w3.org/TR/html4/"> 
   <tr> 
   <td>Apples</td> 
   <td>Bananas</td> 
   </tr> 
</table>
Copier après la connexion

此 XML 文档携带着有关一件家具的信息:

<table xmlns="http://www.w3school.com.cn/furniture"> 
   <name>African Coffee Table</name> 
   <width>80</width> 
   <length>120</length> 
</table>
Copier après la connexion

命名空间是就近原则的

<?xml version="1.0" encoding="utf-8"?> 
<root xmlns="dotnet" xmlns:w="wpf"> 
  <!-- xmlns: dotnet --> 
  <a>data in a</a>	//默认的命名空间 
  <!-- xmlns: dotnet --> 
  <w:b>data in b</w:b>	//w命名空间 
  <!-- xmlns: wpf --> 
  <c xmlns="silverlight"> 
    <!-- xmlns: silverlight --> 
    <w:d> 
      <!-- xmlns: wpf --> 
      <e>data in e</e> 
      <!-- xmlns: silverlight -->	//就近原则 
    </w:d> 
  </c> 
</root>
Copier après la connexion

CDATA
术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。(就是里面的数据不进行XML解析)
CDATA 部分由 "" 结束:

<script> 
<![CDATA[	//开始 
function matchwo(a,b) 
{ 
if (a < b && a < 0) then 
  { 
  return 1; 
  } 
else 
  { 
  return 0; 
  } 
} 
]]>	//结束 
</script>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Puis-je ouvrir un fichier XML à l'aide de PowerPoint ? Puis-je ouvrir un fichier XML à l'aide de PowerPoint ? Feb 19, 2024 pm 09:06 PM

Les fichiers XML peuvent-ils être ouverts avec PPT ? XML, Extensible Markup Language (Extensible Markup Language), est un langage de balisage universel largement utilisé dans l'échange et le stockage de données. Comparé au HTML, XML est plus flexible et peut définir ses propres balises et structures de données, rendant le stockage et l'échange de données plus pratiques et unifiés. PPT, ou PowerPoint, est un logiciel développé par Microsoft pour créer des présentations. Il fournit un moyen complet de

Analyse de la fonction et du principe de nohup Analyse de la fonction et du principe de nohup Mar 25, 2024 pm 03:24 PM

Analyse du rôle et du principe de nohup Dans les systèmes d'exploitation Unix et de type Unix, nohup est une commande couramment utilisée pour exécuter des commandes en arrière-plan. Même si l'utilisateur quitte la session en cours ou ferme la fenêtre du terminal, la commande peut. continuent toujours à être exécutés. Dans cet article, nous analyserons en détail la fonction et le principe de la commande nohup. 1. Le rôle de nohup : Exécuter des commandes en arrière-plan : Grâce à la commande nohup, nous pouvons laisser les commandes de longue durée continuer à s'exécuter en arrière-plan sans être affectées par la sortie de l'utilisateur de la session du terminal. Cela doit être exécuté

Discussion approfondie sur les principes et les pratiques du cadre Struts Discussion approfondie sur les principes et les pratiques du cadre Struts Feb 18, 2024 pm 06:10 PM

Analyse des principes et exploration pratique du framework Struts. En tant que framework MVC couramment utilisé dans le développement JavaWeb, le framework Struts a de bons modèles de conception et une bonne évolutivité et est largement utilisé dans le développement d'applications au niveau de l'entreprise. Cet article analysera les principes du framework Struts et l'explorera avec des exemples de code réels pour aider les lecteurs à mieux comprendre et appliquer le framework. 1. Analyse des principes du framework Struts 1. Architecture MVC Le framework Struts est basé sur MVC (Model-View-Con

Compréhension approfondie du principe d'implémentation de l'insertion par lots dans MyBatis Compréhension approfondie du principe d'implémentation de l'insertion par lots dans MyBatis Feb 21, 2024 pm 04:42 PM

MyBatis est un framework de couche de persistance Java populaire qui est largement utilisé dans divers projets Java. Parmi elles, l'insertion par lots est une opération courante qui peut améliorer efficacement les performances des opérations de base de données. Cet article explorera en profondeur le principe de mise en œuvre de l'insertion par lots dans MyBatis et l'analysera en détail avec des exemples de code spécifiques. Insertion par lots dans MyBatis Dans MyBatis, les opérations d'insertion par lots sont généralement implémentées à l'aide de SQL dynamique. En construisant un S contenant plusieurs valeurs insérées

Une discussion approfondie sur les fonctions et les principes des outils Linux RPM Une discussion approfondie sur les fonctions et les principes des outils Linux RPM Feb 23, 2024 pm 03:00 PM

L'outil RPM (RedHatPackageManager) dans les systèmes Linux est un outil puissant pour installer, mettre à niveau, désinstaller et gérer les packages logiciels système. Il s'agit d'un outil de gestion de progiciels couramment utilisé dans les systèmes RedHatLinux et est également utilisé par de nombreuses autres distributions Linux. Le rôle de l'outil RPM est très important. Il permet aux administrateurs système et aux utilisateurs de gérer facilement les progiciels sur le système. Grâce à RPM, les utilisateurs peuvent facilement installer de nouveaux progiciels et mettre à niveau les logiciels existants.

Explication détaillée du principe du plug-in de pagination MyBatis Explication détaillée du principe du plug-in de pagination MyBatis Feb 22, 2024 pm 03:42 PM

MyBatis est un excellent framework de couche de persistance. Il prend en charge les opérations de base de données basées sur XML et les annotations. Il est simple et facile à utiliser. Il fournit également un mécanisme de plug-in riche. Parmi eux, le plug-in de pagination est l'un des plug-ins les plus fréquemment utilisés. Cet article approfondira les principes du plug-in de pagination MyBatis et l'illustrera avec des exemples de code spécifiques. 1. Principe du plug-in de pagination MyBatis lui-même ne fournit pas de fonction de pagination native, mais vous pouvez utiliser des plug-ins pour implémenter des requêtes de pagination. Le principe du plug-in de pagination est principalement d'intercepter MyBatis

Une analyse approfondie des fonctions et des principes de fonctionnement de la commande Linux chage Une analyse approfondie des fonctions et des principes de fonctionnement de la commande Linux chage Feb 24, 2024 pm 03:48 PM

La commande chage dans le système Linux est une commande utilisée pour modifier la date d'expiration du mot de passe d'un compte utilisateur. Elle peut également être utilisée pour modifier la date d'utilisation la plus longue et la plus courte du compte. Cette commande joue un rôle très important dans la gestion de la sécurité des comptes utilisateur. Elle peut contrôler efficacement la période d'utilisation des mots de passe utilisateur et améliorer la sécurité du système. Comment utiliser la commande chage : La syntaxe de base de la commande chage est : chage [option] nom d'utilisateur Par exemple, pour modifier la date d'expiration du mot de passe de l'utilisateur "testuser", vous pouvez utiliser la commande suivante.

Comment utiliser les fonctions PHP pour traiter des données XML ? Comment utiliser les fonctions PHP pour traiter des données XML ? May 05, 2024 am 09:15 AM

Utilisez les fonctions PHPXML pour traiter les données XML : Analyser les données XML : simplexml_load_file() et simplexml_load_string() chargent des fichiers ou des chaînes XML. Accéder aux données XML : utilisez les propriétés et les méthodes de l'objet SimpleXML pour obtenir les noms d'éléments, les valeurs d'attribut et les sous-éléments. Modifier les données XML : ajoutez de nouveaux éléments et attributs à l'aide des méthodes addChild() et addAttribute(). Données XML sérialisées : la méthode asXML() convertit un objet SimpleXML en chaîne XML. Exemple pratique : analyser le flux de produits XML, extraire les informations sur le produit, les convertir et les stocker dans une base de données.

See all articles