ibm-doors - 如何在 DOORS 中使用 DXL 获取条形 RTF 格式并获取实际字符串值?
问题描述
我正在尝试获取 DOORS 的“ID”列中的值,我目前正在执行此
字符串 ostr=richtext_identifier(o)
当我尝试打印 ostr 时,在某些模块中我只得到 ID(这就是我想要的)。但在其他模块中,我会得到类似 "{\rtf1\ansi\ansicpg1256\deff0\nouicompat{\fonttbl{\f0\fnil\fcharset0 Times New Roman;}{\f1\froman\fcharset0 Times New Roman;}} { *\generator Riched20 10.0.17134}\viewkind4\uc1 \pard\f0\fs20\lang1033 SS_\f1\fs24 100\par } " 这是 RTF 值,我想知道最好的方法是去除这种格式并得到只是价值。
也许还有另一种方法可以解决这个问题,我也没有想到。任何帮助,将不胜感激。
解决方案
所以 DOORS 的 ID 列实际上是一个组合——DOORS 是由模块级属性“前缀”和对象级属性“绝对编号”构建的。
如果您希望将来获取此值,我会执行以下操作(使用您的变量)
string ostr = ( module ( o ) )."Prefix" o."Absolute Number" ""
这与以下内容相反,后者(尽管在插入列对话框中似乎是一个有效的属性)WILL NOT WORK。
string ostr = o."Object Identifier" ""
希望这可以帮助!
评论回复:您不应该需要模块名称才能使代码正常工作。我在 DOORS 9.6.1.10 上成功测试了以下内容:
Object o = current
string ostr = ( module ( o ) )."Prefix" o."Absolute Number" ""
print ostr
推荐阅读
- vue.js - 如何使用 v-model 绑定解码 HTML 实体‽
- python-3.x - 如何使用 Popen 和管道从 Python 运行 C 程序,以便例如 scanf() 等待管道上的输入?
- python - Python - for-loop 存储要发送到函数的值的理想方法
- ios - Apple 更改了 Metal 中允许的矢量格式
- c++ - 如何隐藏 Boost 侵入式列表挂钩?
- ios - UIImageView 掩码层不是来自角落,直到第一次滚动 PageViewController
- python-asyncio - 如何在 asyncio3.7 中向主协程添加多个任务?
- json - 在字符串前一行打印时间戳函数的结果
- angular - Ionic 4 beta 18 - 带有 routerLink 的 ion-item 和 ion-button 不会改变路由
- php - 多个 FPDF 通过 PHP 中的邮件