Avantages complémentaires entre XML et HTML (Partie 2)
May 02, 2017 pm 03:12 PMGénéralement, l'ensemble de résultats que nous interrogeons à partir de la base de données peut être très volumineux, donc lors du retour du serveur au client, les données seront divisées en plusieurs pages pour être livrées respectivement. À ce stade, vous pouvez utiliser l'attribut DATAPAGESIZE dans l'élément TABLE pour spécifier le nombre d'entrées de jeu d'enregistrements que contient chaque page.
Par exemple :
<TABLE DATASRC=“#xmldso” DATAPAGESIZE=10>
Évidemment, si le format de données XML est symétrique, l'effet sera très bon, qu'il soit mappé à un jeu d'enregistrements ADO ou lié à une table. élément bon. Dans les applications pratiques, il existe de nombreux exemples de données XML asymétriques. Par exemple, un livre peut avoir plusieurs auteurs, ce qui entraînera certains problèmes de mappage et de liaison. La solution au problème consiste à utiliser l’imbrication. Chaque ligne du tableau correspond toujours à un élément principal, et chaque colonne correspond également à un sous-élément. Pour les éléments répétés, utilisez des tableaux imbriqués. Supposons que dans books.xml, l'auteur du premier livre est Dean Straight et que les auteurs du deuxième livre sont Charlotte Cooper, Shelley Burke et Regina Murphy. À ce stade, le processus de liaison est le suivant :
● Créez un élément TABLE et attribuez l'ID de l'îlot de données à l'attribut DATAFLD
● Pour les éléments XML individuels, tels que <isbn> ; ;, créez un élément TD et définissez l'attribut DATAFLD correspondant ;
● Pour les éléments répétés, imbriquez un tableau à l'intérieur de l'élément TD
● Afficher les informations sur l'auteur dans une seule ligne et une seule colonne ; .
Notez que l'attribut DATAFLD ici doit être défini sur "$TEXT",
pour garantir que le contenu de l'élément imbriqué est tous affiché dans l'élément spécifié.
Le code HTML complet est le suivant :
<TABLE BORDER=1 DATASRC=“#xmldso”> <THEAD><TR><TH>Title</TH> <TH>ISBN</TH> <TH>Author</TH></TR></THEAD> <TBODY> <TR><TD> <p DATAFLD=“title”></p></TD> <TD><p DATAFLD=“isbn”> </p></TD> <TD> <TABLE BORDER=0 DATASRC=“#xmldso” DATAFLD=“author”> <TR><TD><SPAN DATAFLD=“$Text”></SPAN></TD></TR> </TABLE> </TD> </TR></TBODY> </TABLE>
En fait, la meilleure situation lors de l'utilisation de DSO est pour les données à structure symétrique, et A Un moyen plus efficace de gérer les données asymétriques consiste à utiliser la technologie DOM que nous présenterons plus tard.
Application de la technologie DSO
1. Accéder aux attributs d'un élément
Utiliser DSO pour accéder aux attributs d'un élément est très simple Vous pouvez directement gérer les attributs en tant que sous-éléments.
Par exemple :
<book isbn=“9-001-122-12”> …… </book>
De cette façon, lors de la liaison à un tableau HTML, il peut être traité directement par sous-élément :
<TD><SPAN DATAFLD=“isbn”> </SPAN></TD>
Si le nom de l'attribut et le nom du sous-élément sont identiques, ajoutez "!" devant le nom de l'élément pour les distinguer. 2. Parcours du jeu d'enregistrements
L'un des grands avantages du traitement DSO des îlots de données XML en tant que jeux d'enregistrements ADO est que vous pouvez utiliser diverses méthodes fournies par ADO pour accéder à la source de données, en particulier lorsque l'îlot de données est combiné avec quelque chose. comme SPAN, p Lors de la liaison avec des éléments HTML tels que INPUT. Généralement, ces éléments affichent le premier enregistrement du jeu d'enregistrements. Pour parcourir et parcourir le jeu d'enregistrements, vous pouvez utiliser les méthodes ADO : Move, MoveFirst, MoveLast, MoveNext et MovePRevious. Par exemple, si vous créez une fonction de réponse par bouton, tant que l'utilisateur clique sur le bouton « Suivant », les enregistrements correspondants peuvent être parcourus un par un.
Par exemple :
<XML ID=“xmldso” SRC=“books.xml”> </XML> Sub btnNext_onclick() xmldso.RecordSet.MoveNext End Sub
3. Combinaison avec le langage de script
Certains utilisateurs sont plus habitués à écrire en langage de script. La technologie DSO peut également être bien combinée avec divers scripts.
Par exemple (en prenant VB Script comme exemple), lors de l'accès au jeu d'enregistrements, le code est le suivant :
Dim rsBooks Set rsBooks = xmldso.RecordSet 访问字段(子元素)的值: Dim sTitle sTitle = rsBooks(“title”)
Vous pouvez utiliser le innerText et Attributs innerHTML pour transmettre la valeur obtenue à l'élément HTML. Par exemple, il existe un élément p nommé pTitle, et le code d'affectation est le suivant :
pTitle.innerTEXT = sTitle
Les scripts peuvent également gérer de nombreux événements DSO. Le tableau suivant en répertorie certains :
La façon de gérer divers événements dans un script consiste à utiliser l'attribut FOR dans la balise <SCRIPT> pour spécifier l'ID de l'îlot de données XML et à utiliser l'attribut EVENT pour déterminer le type d'événement.
Par exemple, pour obtenir le nombre d'entrées dans l'ensemble d'enregistrements :
<SCRIPT Language=“VB Script” FOR=“xmldso” EVENT=“onDataAvailable”> lblRecords.value = booklist.RecordSet.RecordCount </SCRIPT>
En plus d'afficher les données d'enregistrement, le programme de script peut également rapidement interroger, trier et modifier le jeu d'enregistrements, etc. fonctionner. Cependant, il convient de souligner que bien que la technologie ADO fournisse des méthodes telles que SortColumn et SortAscending pour trier les données XML, l'effet n'est pas aussi bon que l'opération de tri en XSL, il est donc recommandé d'utiliser pleinement la technologie XSL pour réaliser cette partie de la fonction.
Les fonctions restantes, telles que l'utilisation de scripts pour effectuer des opérations telles que l'ajout, la suppression et la modification de jeux d'enregistrements, ou l'affichage de tableaux HTML dans des pages, etc., ne sont pas expliquées ici une par une. L'utilisation est similaire à la précédente. opérations. Enfin, il convient de noter que toutes les opérations sur les objets DSO sont effectuées côté utilisateur, qui est en fait une copie de l'objet de données du serveur. L'avantage est que cela évite au réseau de supporter la charge des communications de données volumineuses. Mais pour le moment, les opérations effectuées par le client n'ont aucun impact sur les données stockées sur le serveur. Si vous souhaitez modifier les enregistrements du serveur, vous devez utiliser la technologie d'échange de données entre le client et le serveur. Nous en discuterons dans. l’avenir. Faites une introduction.
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

Comment analysez-vous et traitez-vous HTML / XML dans PHP?
