我有mysql表(例如TestSuite),在TestSuiteDefinition列中保存xml内容(尽管是长文本),
TestSuite1
TestSuite
现在,我想检索属性的值(在这种情况下为“ id”).我知道如何在MS SQL中执行此操作,例如:
从TestSuite的位置选择TestSuiteDefinition.query(‘data(/ test_suite / test_case / @ id)’)作为名称TestSuiteId =’368′
但是无法在MySQL中弄清楚.
注意:尝试使用MySQL函数ExtractValue(),但在检索元素属性上没有成功.
谢谢
解决方法:
$rows = $mysqli->query(<<
SELECT ExtractValue(TestSuiteDefinition,'//test_case/@id') as name
FROM TestSuite
WHERE TestCaseId=368
EOQ
) or die($mysqli->error);
print_r($rows->fetch_all());
输出:
Array
(
[0] => Array
(
[0] => 141 142 143 144
)
)
标签:xml,mysql,php
来源: https://codeday.me/bug/20191120/2044805.html