我正在编写一个 XML 文件,我需要根据条件指定一些参数值,具体取决于我的应用程序将在运行时分配的参数。
类似的东西
<?xml version = "1.0" encoding="UTF-8" standalone="yes"?>
<IF x >= 3>
<THEN> <Length>4</Length></THEN>
<ELSE> <Length>5</Length></ELSE>
</IF>
每次查询长度值时,我都需要从我的 qt c++ 应用程序中设置 x 的值
这可能吗?
最佳答案
好吧,这是软件,所以一切皆有可能...
但是,您所描述的肯定不容易,而且几乎肯定有更好的方法来实现。
从 XML 片段来看,这就像您想将一些代码存储在 XML 文件中,然后在运行时“执行”它,使其能够访问“x”和“长度”等 C++ 变量。
您可以通过嵌入(例如)Lua 来做到这一点你的应用程序中的解释器,将 C++ 对象、函数和变量绑定(bind)到 Lua,然后将 Lua“片段”存储在 XML 文件中。一切皆有可能,但这是一项相当大的工作。这是非常强大的,因此具有潜在的不安全性和危险性。
但通常,您希望在代码中保留逻辑,在 XML 中保留数据。所以值“3”、“4”和“5”可能是数据,但解释如何使用它们的代码属于 C++
<xLength testValue="3" resultGt="4" resultLe="5"/>
C++伪代码-
int testValue = xml.getAttr("testValue");
if (x >= testValue)
Length = xml.getAttr("resultGt");
else
Length = xml.getAttr("resultLe");
关于c++ - XML 根据不断变化的参数/变量获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16912304/