2012-07-18 3 views
0

J'utilise objet jQuery pour ajouter des éléments et modifier les valeurs d'un document XML, que je suis en cours d'initialisation en utilisant une chaîne XML qui a des noeuds tels que <tgroup>, <table>, <row>, <tbody>, etc. comme on le voit ci-dessous.Déformer format XML

var str = "<txml> <table><tsnipp><tbody> <row> ... </row> </tbody> </tsnipp> </table> </txml>" 

Maintenant, je vais créer un objet en utilisant jQuery $(str). L'élément <tsnipp> dans le document XML est sous l'élément <table>; Toutefois, lors de l'inspection de l'objet jQuery en utilisant Firebug, je le vois comme ci-dessus l'élément <table>, et donc le <tsnipp> est au même niveau que le <table>, par opposition à être l'un de ses enfants. Je pense que jQuery lui-même l'organise de cette façon car il pense que l'élément <table> est un élément HTML.

En changeant simplement <table> en <d_table>, jQuery fait ce qu'il faut.

Je voulais utiliser jQuery pour manipuler l'objet car il est plus facile à manipuler en tant qu'objet DOM. Cependant, le convertir en une chaîne puis en un objet jQuery nécessitera beaucoup d'expressions régulières pour remplacer certaines chaînes dans d'autres, d'avant en arrière.

Répondre

0

Vous pouvez utiliser jQuery.parseXML pour analyser le document au format XML au lieu de HTML:

var doc = $($.parseXML(str)); 
+1

Oui cela fonctionne .. Si quelqu'un cherche comment analyser utiliser ce code: var SERL = new XMLSerializer (doc) var txt = serl.serializeToString (doc); – user593029