Schau, wie man Roboter kostenlos herunterladen kann
Finden Sie uns auf Twitter!
und werden Sie Mitglied unserer Fangruppe
Interessantes Skript?
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Hat Ihnen das Skript gefallen?
Bewerten Sie es im Terminal MetaTrader 5
Bibliotheken

XmlParser - Bibliothek für den MetaTrader 5

Ansichten:
866
Rating:
(36)
Veröffentlicht:
2016.04.21 16:00
Aktualisiert:
2016.11.22 07:34
xmlparserdll.zip (235.42 KB)
\MQL5\Include\ \MQL5\Scripts\
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance

Die Klasse CXmlElement stellt die folgenden Möglichkeiten für die Arbeit mit XML-Dokumenten zur Verfügung.

  • Sie ermöglicht es, das DOM-Modell (Objektbaum) eines XML-Dokuments (oder Einzelelement) zu erzeugen.
  • Sie ermöglicht es, die verschachtelten Elemente zu lesen, zu ändern, zu erzeugen und zu löschen.
  • Sie können ein Objektmodell in XML speichern.

Schnittstelle der Klasse:

class CXmlElement
{
public:
  string        Name;
  CXmlElement   *Elements[];
  CXmlAttribute *Attributes[];
  string        Text;
  ...  
  string SetXml (string xml);
  string GetXml ();
};

For access to the class attributes a simple class CXmlAttribute is used:

class CXmlAttribute 
{
public:
  string Name;
  string Value;
};

Hier ein einfaches Script-Beispiel das XML parst und Information zum DOM-Baum ausgibt:

//+------------------------------------------------------------------+
//|                                              XmlParserScript.mq5 |
//|                        Copyright 2009, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//|                                                   yu-sha@ukr.net |
//+------------------------------------------------------------------+
#include <XmlParser.mqh>
//+------------------------------------------------------------------+
//| Script start                                                     |
//+------------------------------------------------------------------+
void OnStart()
  {
   CXmlElement xmldoc;
   string xml="<!--Comment--><ROOT><ITEM  Attr1=\"HELLOW\">Terminal &quot;MT5&quot;</ITEM></ROOT>";
   Print("XML="+xml);
   string res=xmldoc.SetXml(xml);
   if(res=="")
     {
      Print("The Root element: "+xmldoc.Name);
      Print("  Number of Attributes: "+string(ArraySize(xmldoc.Attributes)));
      Print("  Nested elements: "+string(ArraySize(xmldoc.Elements)));
      Print("  First nested element:"+xmldoc.Elements[0].Name);
      Print("    Its first attribute: "+xmldoc.Elements[0].Attributes[0].Name+"="+xmldoc.Elements[0].Attributes[0].Value);
      Print("    Its text: "+xmldoc.Elements[0].Text);
      Print("XML="+xmldoc.GetXml());
     }
   else
      Print(res);
  }
//+------------------------------------------------------------------+

Hier finden sie das Ergebnis der Scriptausführung:


Zusätzliche Informationen:

  • Die aktuelle Version lädt nur die Elemente, ihre Attribute und Text in das DOM. Alle anderen Typen von Informationen (Kommentare, Beschreibungen, ...) werden ignoriert. Als Resultat kann Information wie "codepage" oder "version" verlorengehen. Das XML-Dokument wird also ggf. nicht korrekt gespeichert.
  • Beim Speichern werden Sonderzeichen wie <"&'> gemäß dem Standard nach &lt:, &gt;, ... konvertiert.
  • Dieser Parser ist hauptsächlich zum Parsen von XML-Dokumenten gedacht, weniger zur vollständigen Bearbeitung von XML-Dokumenten.

Speicherorte der Dateien:

  • terminal_data_folder\MQL5\Libraries\xmlparser.dll
  • terminal_data_folder\MQL5\Include\xmlparser.mqh
  • terminal_data_folder\MQL5\Scripts\xmlparserscript.mq5

Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/97

Color Parabolic 2 Color Parabolic 2

Color Parabolic 2. Die Farbe hängt vom Beschleunigungsfaktor ab.

PivotPoint PivotPoint

Dieser Indikator zeichnet Pivot-Punkte, Widerstände und Unterstützungen.

iBBFill iBBFill

Der Indikator stellt die Bollinger Bänder (Bollinger Bands ®) dar, ausgefüllt mit unterschiedlichen Farben in Abhängigkeit der Trendrichtung.

iMovment iMovment

Der Indikator stellt die Kerzen mit unterschiedlichen Farben in Abhängigkeit von Trendrichtung und Kursbewegung dar.