無料でロボットをダウンロードする方法を見る
Facebook上で私たちを見つけてください。
私たちのファンページに参加してください
私たちのファンページに参加してください
記事を気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
- ビュー:
- 842
- 評価:
- パブリッシュ済み:
- 2016.03.16 09:05
- アップデート済み:
- 2016.11.22 07:34
-
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
内容
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 "MT5"</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ドキュメントが間違って保存されることがあります。
- 変換保存中に <"&'> のような特殊文字はスタンダードに基づいて <:、 >, ... といった要素に変換されます。
- このパーサは、主に、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