内容
CXmlElementクラスは下記の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); } //+------------------------------------------------------------------+
スクリプトの実行結果は次のとおりです。

追加情報:
ファイル保存場所:
MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/97