C++を使用してodx-fファイルを解析したいと思います。しかし、私はそれを解析する方法の一例を見つけることができません。私はこのサイトを初めて使っています。このコードを使ってこの問題を解決するのを手伝ってください。前もって感謝します。cppでodx-fファイルを解析する方法
-5
A
答えて
0
フラッシュコンテナデータを含むodx-fファイル。 C++で.odx-fファイルを解析するには、任意のXMLパーサー(つまり、rapidxml、xerces、LibXML2、C++ Wrapperなど)を使用できます。次の例では、SHORT-NAME
のすべてをECU-MEMS
とECU-MEM-CONNECTORS
と表示するためにrapidxmlを使用します。 ECU-MEM
以下のすべての要素にアクセスするには、同じメカニズムを適用できます(アプリケーションで.odx-fファイルから必要なデータによって異なります)。
#include <iostream>
#include "rapidxml/rapidxml.hpp"
#include "rapidxml/rapidxml_utils.hpp"
int main(int argc, char *argv[]){
rapidxml::xml_document<> doc;
rapidxml::file<> xmlFile("myFile.odx-f");
doc.parse<0>(xmlFile.data());
rapidxml::xml_node<>* flashContainer = doc.first_node("ODX")->first_node("FLASH");
if(flashContainer){
std::cout << flashContainer->first_node("SHORT-NAME")->value() << std::endl; /* prints the shortname of the flash container */
for (rapidxml::xml_node<>* ecuMem = flashContainer->first_node("ECU-MEMS")->first_node("ECU-MEM"); ecuMem; ecuMem = ecuMem->next_sibling("ECU-MEM")) {
/* iterates over all ecu memory descriptors */
std::cout << ecuMem->first_node("SHORT-NAME")->value() << std::endl; /* prints the shortname of the ecu memory descriptor */
}
for (rapidxml::xml_node<>* ecuMemCon = flashContainer->first_node("ECU-MEM-CONNECTORS")->first_node("ECU-MEM-CONNECTOR"); ecuMemCon; ecuMemCon = ecuMemCon->next_sibling("ECU-MEM-CONNECTOR")) {
/* iterates over all ecu memory connectors */
std::cout << ecuMemCon->first_node("SHORT-NAME")->value() << std::endl; /* prints the shortname of the ecu memory connector */
}
}
return 0;
}
odxを解析するライブラリもあります。通常、彼らは商用利用をターゲットにしているので高価になるでしょうが、ODX-LibというLGPLv2でライセンスされているライブラリが1つあります。ただし、2014年以降、Java(JNIはC++からのアクセスが必要)から更新されていません。
関連する問題
- 1. yamlの解析方法は? (yaml-cpp)
- 2. CPPで組合の構造を解析する方法は?
- 3. yamlをyaml cppで解析する
- 4. bashでファイルを解析する方法
- 5. cppファイル内でcppファイルを実行する方法は?
- 6. .as(AS3)ファイルを解析する方法
- 7. txtファイルを解析する方法
- 8. yamlファイルを解析する方法は?
- 9. XAMLファイルを解析する方法は?
- 10. 問題YAML-CPPを使用したファイルの解析
- 11. Kotlinでjsonファイルを読み込んで解析する方法
- 12. regexを使ってJavaでファイルを解析する方法は?
- 13. SSISでXMLファイルを解析する方法は?
- 14. Javascript/HTML5でExcelファイルを解析する方法
- 15. PHPでASCII plistファイルを解析する簡単な方法
- 16. HIVEでダブルチルダ(~~)ファイルを解析する方法
- 17. PythonでBIG JSONファイルを解析する方法
- 18. Logstashでファイルの解析をリセットする方法は?
- 19. VBAでXMLファイルを解析する方法
- 20. JAVAでフラッシュクッキー(.SOLファイル)を解析する方法
- 21. Windows 2008R2でMP3ファイルを解析する方法は?
- 22. NSXMLParserでXMLファイルを解析する方法
- 23. TitaniumでローカルXMLファイルを解析する方法は?
- 24. C#でXMLファイルを解析する方法(youtube api result)?
- 25. Pythonで 'JSON文字列'ファイルを解析する方法は?
- 26. チャンクでXMLファイルを解析する方法
- 27. androidでこのxmlファイルを解析する方法 - XmlPullParser?
- 28. ファイルを行と分割テキストで解析する方法
- 29. RubyでCSVファイルのコンマを解析する方法
- 30. ブラウザでローカルXMLファイルを解析する方法は?
ファイルフォーマットの仕様を読み、それに応じて解析します。すべてのファイルはバイト配列です。書式指定では、これらのバイトの意味を説明しています。または、あなたのために仕事をしている第三者図書館を使用してください。 – Ron
は、cppで利用できるodxファイルパーサーですか? – Rajeev
あなたはこれを行うための第三者のライブラリをお勧めしますか? – Rajeev