node.js - 如何在 Node.js 中从 Oracle 数据库创建 XML 文件?
问题描述
当我运行本地主机时,我试图将我的数据从 OracleDB 输出到 Node.js 中的 XML 文件。
这是我的代码的一部分:
router.get("/", async function(req, res, next) {
try {
connect = await oracledb.getConnection(information)
const value = await connection.execute('SELECT * FROM db')
res.json(js2xmlparser.parse("database", result.rows);
} catch (err)
}
但是,当我转到 localhost - 它会打印出 xml 文本,但它不是 xml 文件。在本地主机中输出:
"<?xml version=1.0'?>\n<database>\n ........ "
解决方案
也许您的问题可以通过在发送输出之前执行此操作来解决:
res.writeHead(200, {"Content-Type": "text/xml"});
但这将取决于是什么res
。我只是猜测这是一个 HTTP 响应。
关于 XML 本身,您可能想查看数据库的 XML 功能。你可以做一些有趣的事情,比如:
sql = `select dbms_xmlgen.getxml('
select *
from employees
order by employee_id') xml
from dual`;
binds = [];
options = { fetchInfo: { XML: { type: oracledb.STRING }} };
result = await connection.execute(sql, binds, options);
console.log(result.rows[0][0]);
这给出了如下输出:
<?xml version="1.0"?>
<ROWSET>
<ROW>
<EMPLOYEE_ID>100</EMPLOYEE_ID>
<FIRST_NAME>Steven</FIRST_NAME>
<LAST_NAME>King</LAST_NAME>
<EMAIL>SKING</EMAIL>
<PHONE_NUMBER>515.123.4567</PHONE_NUMBER>
<HIRE_DATE>17-JUN-03</HIRE_DATE>
<JOB_ID>AD_PRES</JOB_ID>
<SALARY>24000</SALARY>
<DEPARTMENT_ID>90</DEPARTMENT_ID>
</ROW>
<ROW>
<EMPLOYEE_ID>101</EMPLOYEE_ID>
. . .
基准测试等,看看你喜欢哪种方法
推荐阅读
- unity3d - Applovin Max SDK for Unity 在尝试加载广告时返回错误代码 -1004(仅 iOS 问题。Android 完美运行)
- 3d - pyopengl中用于旋转的pyquaternion
- javascript - 将 props 从父组件转发到子组件
- python - 雪花与 Sharepoint 的集成
- asp.net-core - 如何在 ASP.NET Core 5.0 中阻止其他数据
- python - 扫雷岛检测
- ruby-on-rails - 将雪花集成到 Ruby on rails
- vue.js - 在 main.js 文件中导入自定义 vue 组件
- python - 如何实现计数器以动态创建井字棋盘
- python - Pandas - 如何修改绘图栏中的历史图的宽度?