ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

This content has been translated automatically.  Click here  to view the French version.
Help / WLanguage / WLanguage functions / Standard functions / XML file functions
  • Declaring an xmlNode variable
  • Properties specific to the description of xmlNode variables
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
The xmlNode type is used to handle a node of an XML document. The characteristics of this node can be defined and modified using different WLanguage properties.
This type of variable is used by:
Remark: For more details on the declaration of this type of variable and the use of WLanguage properties, see Declaring a variable.
Example
MonTexteXML is string = [
<?xml version="1.0"?>
<!DOCTYPE PLAY SYSTEM "play.dtd">
<PLAY>
<TITLE>The Tragedy of Romeo and Juliet</TITLE>
<ACT><TITLE>ACT I</TITLE>
<PROLOGUE><TITLE>PROLOGUE</TITLE></PROLOGUE>
<SCENE><TITLE>SCENE I.  Verona. A public place.</TITLE></SCENE>
</ACT>
<ACT><TITLE>ACT II</TITLE>

<PROLOGUE><TITLE>PROLOGUE</TITLE></PROLOGUE>
<SCENE><TITLE>SCENE I.  A lane by the wall of Capulet's orchard.</TITLE></SCENE>
</ACT>
<ACT><TITLE>ACT III</TITLE>

<PROLOGUE><TITLE>PROLOGUE</TITLE></PROLOGUE>
<SCENE><TITLE>SCENE I.  A public place.</TITLE></SCENE>
</ACT>
</PLAY>
]

// Chargement d'un document XML
RomeoEtJuliette is xmlDocument
RomeoEtJuliette = XMLOpen(MonTexteXML, fromString)

// Affichage du titre des actes
Acte is xmlNode
FOR EACH Acte OF RomeoEtJuliette.PLAY ON ACT
	Trace(Acte.TITLE)
END
// Validation à partir du schéma défini lors de la déclaration
cMonNoeud is xmlNode, description="schemaXSDDuProjet.NoeudRacine"
// La variable peut également être déclarée de la façon suivante :
// cMonNoeud est un xmlNoeud <description="schemaXSDDuProjet.NoeudRacine">
cMonNoeud.Texte = "21"
IF XMLValidNode(cMonNoeud) = False THEN
	Error(ErrorInfo())
ELSE
	Info("Le noeud XML est valide") 
END
Remarks

Declaring an xmlNode variable

The xmlNode variables can be declared by specifying a template node (node in an XSD file). The structure of this document will be read by WINDEV and the automatic completion will be available for the names of nodes in the code editor.
To declare an xmlNode variable with a sample document:
  1. Add the XML or XSD document into the project.
  2. The XML or XSD document appears in the project browser, in the "XML descriptions" branch. You have the ability to see its structure.
  3. Declare the variable as follows:
    <Nom de la variable> est un xmlNoeud, description =  <Chemin du noeud dans le document XSD>
Remark: the syntax for node declaration can also be obtained by performing a "Drag and Drop" of the node into the project explorer.
The child nodes of the variable can now be directly accessed by their names. These names are automatically proposed by the automatic completion mechanism of the code editor.

Properties specific to the description of xmlNode variables

The following properties can be used to handle an xmlNode variable:
NameType usedEffect
AttributeArray of xmlAttributeArray of XML attributes associated with the node.
ChildNodeArray of xmlNodeArray of child nodes.
ExistBoolean
  • True if the node exists,
  • False otherwise.
In read mode, this property is used, for example, to test the existence of a particular child of a document node.
New in version SaaS
When writing, assigning this Property to forces the creation of an Empty node.
New in version SaaS
This property is now available in writing.
NameUNICODE character stringName of node.
Android Caution: You cannot create elements (tag or attribute) with accented characters.
NamespacexmlNamespace variableXML namespace of node.
NamespaceDeclaredArray of xmlNamespaceArray of XML namespaces declared by the node.
OccurrenceIntegerNumber of nodes of same level and with the same name in the XML document.
This property is read-only.
TextUNICODE character stringText found in the node.
TypeIntegerType of node. The possible types are as follows:
  • XMLTag (default value): Simple XML node that may contain children.
    For example:
    <NOEUD> <NOEUDFILS> </NOEUDFILS> </NOEUD>
  • XMLText: XML node containing text.
    For example:
    <NOEUD> Texte </NOEUD>
  • XMLCDATA: XML node containing data that must be ignored by the XML analyzer.
    For example:
    <NOEUD><![CDATA[Ces données ne sont pas
    traitées par l'analyseur XML]]>
    </NOEUD>
Remarks:
  • The type can be assigned once only. Then, the property is read-only.
  • If a value is assigned to the Name property, the node will automatically be of type XMLTag.
  • If a value is assigned to the Text property, the node will automatically be of type XMLText.
  • When a value is assigned to the Text property, all the child nodes of type XMLText and XMLCData are deleted.
XMLSourceUNICODE character stringFragment of XML code corresponding to the node. This property also returns the XML code of the child nodes.
This property is read-only.
AndroidJava Caution: The iteration order is not necessarily the order in which the attributes are declared in the document (in most cases, the attributes are listed in alphabetical order).
Minimum version required
  • Version 15
This page is also available for…
Comments
video ler itens xml
https://youtu.be/rxH5QnpbXXY
amarildo
25 Nov. 2018
LER ITEM XML
PROCEDURE ler_danfe_itens_impostos_xml()
documento is string = EDT_Xml_nfe
xml_nfe is a xmlDocument
xml_nfe=XMLOpen(documento,fromString)
det is xmlNode
_sequencia is int=0
FOR EACH det OF xml_nfe.nfeProc.NFe.infNFe on det
TableAddLine(TABLE_itens) // Adicionando a tabela
n_ocorrencia is int= TABLE_itens..Occurrence //vou ter o numero atual linha tabela
_sequencia++
TABLE_itens.COL_01_sequencia[n_ocorrencia]=_sequencia
TABLE_itens.COL_02_id_nota_fiscal_iten[n_ocorrencia]=0
TABLE_itens.COL_03_cProd[n_ocorrencia]=det.prod.cProd
TABLE_itens.COL_04_cEAN[n_ocorrencia]=det.prod.cEAN
TABLE_itens.COL_18_ICMS_ICMSSN_orig[n_ocorrencia]=det.imposto.ICMS..ChildNode[1].orig
TABLE_itens.COL_19_ICMS_ICMSSN_CST_CSOSN[n_ocorrencia]=det.imposto.ICMS..ChildNode[1].CST

END
//=================================

AULA 1307 WINDEV XML 017 - LER ITENS NOTA NFE

http://windevdesenvolvimento.blogspot.com.br/2017/12/aula-1307-windev-xml-017-ler-itens-nota.html

https://www.yout
De matos
15 Dec. 2017

Last update: 07/06/2024

Send a report | Local help