如何解析一个类似 xml 的字符串并将其转换为一个单独的列表?
我正在尝试转换以下字符串:
<Categories>
<Category Assigned="0">
6 Level
<Category Assigned="1">
6.2 Level
<Category Assigned="0">
6.3 Level
<Category Assigned="0">
6.4 Level
<Category Assigned="1">
6.5 Level
</Category>
</Category>
</Category>
</Category>
</Category>
</Categories>
到一个单独的列表,如:
6 Level/6.2 Level/6.3 Level/6.4 Level/6.5 Level, 6 Level/6.2 Level
exiv2 的 Robin Mills 提供了一个 perl 脚本: http ://dev.exiv2.org/boards/3/topics/1912?r=1923#message-1923
那还需要解析Assigned="1"
. 这如何在 C++ 中完成以在digikam中使用,内部dmetadata.cpp
结构如下:
QStringList ntp = tagsPath.replaceInStrings("<Category Assigned="0">", "/");
我没有足够的编程背景来解决这个问题,也没有在网上找到任何类似的代码示例。我还想将代码包含在 exiv2 本身中,以便其他应用程序可以受益。
工作代码将包含在 digikam 中:https ://bugs.kde.org/show_bug.cgi?id=345220