DOMParser
L'interface DOMParser
permet d'analyser le code source XML ou HTML d'une chaîne de caractères dans le DOM Document
.
Vous pouvez effectuer l'opération inverse - convertir un arbre DOM en source XML ou HTML - en utilisant l'interface XMLSerializer
.
Dans le cas d'un document HTML, vous pouvez également remplacer des parties du DOM par de nouveaux arbres DOM construits à partir de HTML en définissant la valeur des propriétés innerHTML
et outerHTML
. Ces propriétés peuvent également être lues pour récupérer les fragments HTML correspondant au sous-arbre DOM correspondant.
Notez que XMLHttpRequest
peut analyser le XML et le HTML directement à partir d'une ressource adressable par URL, en renvoyant un Document
dans sa propriété response
.
Constructeur
DOMParser()
-
Crée un nouvel objet
DOMParser
.
Méthodes
DOMParser.parseFromString()
-
Analyse une chaîne de caractères à l'aide de l'analyseur HTML ou de l'analyseur XML, et retourne un
HTMLDocument
ouXMLDocument
.
Exemple
>Analyse syntaxique de XML, SVG et HTML
Cet exemple montre comment analyser le XML, le SVG et le HTML. Notez qu'un type MIME de text/html
invoquera l'analyseur HTML, et que tout autre type MIME accepté par cette méthode invoquera l'analyseur XML.
const parser = new DOMParser();
const xmlString = "<warning>Attention au tigre</warning>";
const doc1 = parser.parseFromString(xmlString, "application/xml");
// XMLDocument
const svgString = '<circle cx="50" cy="50" r="50"/>';
const doc2 = parser.parseFromString(svgString, "image/svg+xml");
// XMLDocument
const htmlString = "<strong>Attention au léopard</strong>";
const doc3 = parser.parseFromString(htmlString, "text/html");
// HTMLDocument
console.log(doc1.documentElement.textContent);
// "Attention au tigre"
console.log(doc2.firstChild.tagName);
// "circle"
console.log(doc3.body.firstChild.textContent);
// "Attention au léopard"
Spécifications
Compatibilité des navigateurs
Voir aussi
- Analyse syntaxique et sérialisation du XML
XMLHttpRequest
XMLSerializer
JSON.parse()
- contrepartie pour les documentsJSON
.