首页 > 解决方案 > 使用“xmlbuilder”npm 包创建 xml 时如何添加 DOCTYPE

问题描述

有没有办法使用“xmlbuilder”包在 XML 文件中添加 !DOCTYPE。

点赞加点赞

<!DOCTYPE IAD.IF.ESTATE.FORRENT SYSTEM "http://www.finn.no/dtd/IADIF-estateforrent71.dtd">

谢谢

标签: javascriptnode.jsvue.jsnpm

解决方案


在创建根 xml 元素时使用属性定义DOCTYPE声明。sysID

例子:

const builder = require('xmlbuilder', { encoding: 'utf-8' });

// Create the root xml element and define the DOCTYPE declaration
const root = builder.create('IAD.IF.ESTATE.FORRENT', {
  'sysID': 'http://www.finn.no/dtd/IADIF-estateforrent71.dtd',
});

root.ele('HEAD')
    .ele('PARTNER').txt('Foobar');

// ...

const xmlString = root.end({ 
  pretty: true
});

console.log(xmlString);

输出:

上面的示例打印以下 XML 片段:

 <?xml version="1.0"?>
 <!DOCTYPE IAD.IF.ESTATE.FORRENT SYSTEM "http://www.finn.no/dtd/IADIF-estateforrent71.dtd">
 <IAD.IF.ESTATE.FORRENT>
   <HEAD>
     <PARTNER>Foobar</PARTNER>
   </HEAD>
 </IAD.IF.ESTATE.FORRENT>

可以在文档的XML-Prolog部分找到更多信息


推荐阅读