以 XML 格式更新参数值
Update parameter value in XML format
我将参数存储在 XML 文件中。以下是文件示例。
<?xml version="1.0" encoding="UTF-8"?>
<root>
<terminal id="A">
<terminalCapacity>3</terminalCapacity>
<terminalMembers id="1">
<memberID>0001</memberID>
<memberCapacity>2</memberCapacity>
</terminalMembers>
</terminal>
<terminal id="B">
<terminalCapacity>4</terminalCapacity>
<terminalMembers id="1">
<memberID>0002</memberID>
<memberCapacity>1</memberCapacity>
</terminalMembers>
<terminalMembers id="2">
<memberID>0003</memberID>
<memberCapacity>3</memberCapacity>
</terminalMembers>
</terminal>
</root>
每个 terminalID 都与我的 NED 文件中找到的 simpleModule
类型相关联。这个想法是在整个模拟过程中以编程方式更新这些值 运行。当前逻辑围绕获取 XML 格式的当前参数并更新 memberCapacity
字段。
从 Omnet cPar and cXMLElement 文档中,我尝试使用 par("moduleParameter").xmlValue()->getXML()
函数,但是这个 returns 和 XML 作为字符串。我也尝试使用 getAttribute()
函数,但没有成功。
不要这样做。 par("moduleParameter").xmlValue()
将为您提供 XML 文档的内存对象树,但这并不意味着修改。您的 XML 文件似乎只是一个层次结构和模块,它们的参数可以准确反映这一点。当您可以使用 INI 文件参数进行镜像时,绝对没有理由重新发明轮子。
我将参数存储在 XML 文件中。以下是文件示例。
<?xml version="1.0" encoding="UTF-8"?>
<root>
<terminal id="A">
<terminalCapacity>3</terminalCapacity>
<terminalMembers id="1">
<memberID>0001</memberID>
<memberCapacity>2</memberCapacity>
</terminalMembers>
</terminal>
<terminal id="B">
<terminalCapacity>4</terminalCapacity>
<terminalMembers id="1">
<memberID>0002</memberID>
<memberCapacity>1</memberCapacity>
</terminalMembers>
<terminalMembers id="2">
<memberID>0003</memberID>
<memberCapacity>3</memberCapacity>
</terminalMembers>
</terminal>
</root>
每个 terminalID 都与我的 NED 文件中找到的 simpleModule
类型相关联。这个想法是在整个模拟过程中以编程方式更新这些值 运行。当前逻辑围绕获取 XML 格式的当前参数并更新 memberCapacity
字段。
从 Omnet cPar and cXMLElement 文档中,我尝试使用 par("moduleParameter").xmlValue()->getXML()
函数,但是这个 returns 和 XML 作为字符串。我也尝试使用 getAttribute()
函数,但没有成功。
不要这样做。 par("moduleParameter").xmlValue()
将为您提供 XML 文档的内存对象树,但这并不意味着修改。您的 XML 文件似乎只是一个层次结构和模块,它们的参数可以准确反映这一点。当您可以使用 INI 文件参数进行镜像时,绝对没有理由重新发明轮子。