XMLNode - Inclus, global
L’API XMLNode fournit des méthodes pour interroger les valeurs à partir des nœuds XML. Les XMLNodes sont extraits des objets XMLDocument2, qui contiennent des chaînes XML.
Il n’existe aucun constructeur pour la création d’une instance autonome d’un objet XMLNode. Au lieu de cela, utilisez la méthode createElement() de XMLDocument2, qui ajoute un nœud à un document existant.
Nœud XML inclus dans le champ d’application : getAttribute(attribut de chaîne)
Obtient la valeur de l’attribut.
| Nom | Type | Description |
|---|---|---|
| attribut | Chaîne | Nom de l’attribut. |
| Type | Description |
|---|---|
| Chaîne | Valeur de l’attribut. |
var xmlString = "<test>" +
" <one>" +
" <two att=\"xxx\">abcd1234</two>" +
" <three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
" <two>another</two>" +
" </one>" +
" <number>1234</number>" +
"</test>";
var xmlDoc = new XMLDocument2();
xmlDoc.parseXML(xmlString);
var node = xmlDoc.getNode('//two');
gs.info(node.getAttribute('att'));
Sortie :
xxx
XMLNode inclus dans le périmètre : getAttributes()
Renvoie un objet contenant les attributs du nœud sous forme de propriétés avec des valeurs.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | Contient des paires nom-valeur où le nom est l’attribut et la valeur est la valeur de l’attribut. |
XMLNode inclus dans le périmètre : getChildNodeIterator()
Obtient un objet XMLNodeIterator qui peut être utilisé pour parcourir la liste des nœuds enfants.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| XMLNodeIterator | L’objet itérateur de nœud. |
var xmlString = "<test>" +
" <one>" +
" <two att=\"xxx\">abcd1234</two>" +
" <three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
" <two>another</two>" +
" </one>" +
" <number>1234</number>" +
"</test>";
var xmlDoc = new XMLDocument2();
xmlDoc.parseXML(xmlString);
var node = xmlDoc.getNode('//one');
var iter= node.getChildNodeIterator();
gs.info(iter.hasNext());
XMLNode inclus dans le périmètre : getFirstChild()
Obtient le premier nœud enfant du nœud.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Nœud XML | Premier nœud enfant du nœud. |
var xmlString = "<test>" +
"<one>" +
"<two att=\"xxx\">abcd1234</two>" +
"<three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
"<two>another</two>" +
"</one>" +
"<number>1234</number>" +
"</test>";
var xmlDoc = new XMLDocument2();
xmlDoc.parseXML(xmlString);
var node = xmlDoc.getNode('//one');
gs.info(node.getFirstChild());
<two att="xxx">abcd1234</two>Nœud XML inclus dans le périmètre : getLastChild()
Obtient le dernier nœud enfant du nœud.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Nœud XML | Dernier enfant du nœud. |
var xmlString = "<test>" +
"<one>" +
"<two att=\"xxx\">abcd1234</two>" +
"<three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
"<two>another</two>" +
"</one>" +
"<number>1234</number>" +
"</test>";
var xmlDoc = new XMLDocument2();
xmlDoc.parseXML(xmlString);
var node = xmlDoc.getNode('//one');
gs.info(node.getLastChild());
<two>another</two>XMLNode inclus dans le périmètre : getNodeName()
Recherche le nom du nœud. Le nom d’un nœud est déterminé par le type de nœud. Le nom d’un noeud document-element est #document. Le nom d’un nœud de texte est #text. Le nom d’un nœud d’élément est le nom de l’élément.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Nom du nœud. |
var xmlString = "<test>" +
" <one>" +
" <two att=\"xxx\">abcd1234</two>" +
" <three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
" <two>another</two>" +
" </one>" +
" <number>1234</number>" +
"</test>";
var xmlDoc = new XMLDocument2();
xmlDoc.parseXML(xmlString);
var node = xmlDoc.getNode('//two');
gs.info(node.getNodeName());
Sortie :
two
XMLNode inclus dans le périmètre : getNodeValue()
Obtient la valeur du nœud. La valeur d’un nœud est déterminée par le type de nœud. Les nœuds element et document-element renvoient null.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Valeur du nœud. |
var xmlString = "<test>" +
" <one>" +
" <two att=\"xxx\">abcd1234</two>" +
" <three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
" <two>another</two>" +
" </one>" +
" <number>1234</number>" +
"</test>";
var xmlDoc = new XMLDocument2();
xmlDoc.parseXML(xmlString);
var node = xmlDoc.getNode('//two');
gs.info(node.getNodeValue());
Sortie :
null
XMLNode inclus dans le périmètre : getTextContent()
Obtient le contenu textuel du nœud actuel. Le contenu textuel d’un nœud se compose de tous les nœuds de texte enfants du nœud
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Contenu textuel du nœud actuel. |
var xmlString = "<test>" +
" <one>" +
" <two att=\"xxx\">abcd1234</two>" +
" <three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
" <two>another</two>" +
" </one>" +
" <number>1234</number>" +
"</test>";
var xmldoc = new XMLDocument2();
xmldoc.parseXML(xmlString);
var node = xmldoc.getNode('//one/two');
gs.info(node.getTextContent());
Sortie :
abcd1234
Nœud XML inclus dans le champ d’application : hasAttribute(attribut de chaîne)
Détermine si le nœud possède l’attribut spécifié.
| Nom | Type | Description |
|---|---|---|
| attribut | Chaîne | Nom de l’attribut à vérifier. |
| Type | Description |
|---|---|
| Booléen | Vrai si le nœud possède l’attribut. |
var xmlString = "<test>" +
" <one>" +
" <two att=\"xxx\">abcd1234</two>" +
" <three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
" <two>another</two>" +
" </one>" +
" <number>1234</number>" +
"</test>";
var xmlDoc = new XMLDocument2();
xmlDoc.parseXML(xmlString);
var node = xmlDoc.getNode('//two');
gs.info(node.hasAttribute('att'));
Sortie :
true
XMLNode inclus dans le périmètre : isCDATANode()
Indique si le nœud CDATA est conservé en tant que nœud distinct.
Utilisez cette méthode pour vous assurer que les nœuds CDATA sont conservés et ne sont pas traités comme du XMLDocument2 inclus dans le champ d’application : setEnableCDATAReporting(Boolean enable) texte.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si un nœud interrogé est CDATA ou texte brut. Valeurs valides :
|
L’exemple suivant montre comment analyser une chaîne XML avec la génération de rapports CDATA activée à l’aide de XMLDocument2 inclus dans le champ d’application : setEnableCDATAReporting(Boolean enable). Le code utilise isCDATANode() pour montrer que le premier nœud interrogé dans la chaîne XML est un nœud CDATA.
var xmlString = "<test>" +
" <one>" +
" <two att=\"xxx\">abcd1234</two>" +
" <three boo=\"yah\" att=\"yyy\">1234abcd</three>"+
" <four><![CDATA[another]]>element</four>" +
" </one>" +
" <number>1234</number>" +
"</test>";
var xmlDoc = new XMLDocument2();
xmlDoc.setEnableCDATAReporting(true); // Enables CDATA reporting
xmlDoc.parseXML(xmlString);
var content = xmlDoc.getFirstNode('/test/one/four');
gs.info(content.getFirstChild().isCDATANode());
Sortie :
true
XMLNode inclus dans le champ d’application : toString()
Renvoie la valeur de chaîne du nœud actuel.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Valeur de chaîne du nœud actuel. |
var xmlString = "<test>" +
" <one>" +
" <two att=\"xxx\">abcd1234</two>" +
" <three boo=\"yah\" att=\"yyy\">1234abcd</three>" +
" <two>another</two>" +
" </one>" +
" <number>1234</number>" +
"</test>";
var xmlDoc = new XMLDocument2();
xmlDoc.parseXML(xmlString);
var node = xmlDoc.getNode('//one');
gs.info(node.toString());
<one>
<two att="xxx">abcd1234</two>
<three att="yyy" boo="yah">1234abcd</three>
<two>another</two>
</one>