無料でロボットをダウンロードする方法を見る
Twitter上で私たちを見つけてください。
私たちのファンページに参加してください
興味深いスクリプト?
それではリンクにそれを投稿してください。-
他の人にそれを評価してもらいます
記事を気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
ライブラリ

XmlParser - MetaTrader 5のためのライブラリ

ビュー:
733
評価:
(36)
パブリッシュ済み:
2016.03.16 09:05
アップデート済み:
2016.11.22 07:34
xmlparser-doc.zip (36.87 KB)
xmlparserdll.zip (235.42 KB)
\MQL5\Include\ \MQL5\Scripts\
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動

内容

CXmlElementクラスは下記のXMLドキュメント操作をサポートします。

  • XML文書(またはその単一の要素)からのDOMモデル(ツリーオブジェクト)の作成
  • ネストされた要素とテキストの読み取り、変更、作成および削除
  • オブジェクトモデルのXMLでの保存

クラスインターフェース:

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

クラス属性へのアクセスには、シンプルなCXmlAttributeクラスが使われます。

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

XMLを解析し、DOMツリーからの情報を出力するスクリプトの簡単な例は、次のとおりです。

//+------------------------------------------------------------------+
//|                                              XmlParserScript.mq5 |
//|                        Copyright 2009, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//|                                                   yu-sha@ukr.net |
//+------------------------------------------------------------------+
#include <XmlParser.mqh>
//+------------------------------------------------------------------+
//| スクリプト開始                                                    |
//+------------------------------------------------------------------+
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);
  }
//+------------------------------------------------------------------+

スクリプトの実行結果は次のとおりです。


追加情報:

  • 現在のバージョンはDOMに要素とその属性およびテキストのみを読み込みます。すべての他のタイプの情報(コメント、説明、...)は無視されます。その結果、コードページ、バージョンに関する情報が損失され、XMLドキュメントが間違って保存されることがあります。
  • 変換保存中に <"&'> のような特殊文字はスタンダードに基づいて &lt:、 &gt;, ... といった要素に変換されます。
  • このパーサは、主に、XML文書を解析するのではなく、完全なXML文書を扱うために意図されています。

ファイル保存場所:

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

MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/97

色付きパラボリック2 色付きパラボリック2

色付きパラボリック2色は加速係数に依存します。

PivotPoint PivotPoint

このインディケータは、ピボットポイント、レジスタンスおよびサポートを描画します。

iBBFill iBBFill

このインディケータはトレンドの方向によって異なる色で塗られたボリンジャーバンド ®をプロットします。

iMovment iMovment

このインディケータはトレンド方向と価格の動きに応じて異なる色でローソク足をプロットします。