在浏览器中使用xml2js

时间:2017-03-27 13:16:57

标签: javascript browser xml2js

是否有一个如何在浏览器页面中包含xml2js的示例?

每个xml2js https://github.com/Leonidas-from-XIV/node-xml2js/issues/215

  

"随着最近的变化,xml2js应该可以正常工作了   浏览器。

简单包含似乎不起作用:

<script type="text/javascript" src="/dist/xml2js.js"></script>

因为它生成错误

Uncaught ReferenceError: require is not defined

是否需要运行browserify来创建要包含的单个文件?

1 个答案:

答案 0 :(得分:0)

理论上browserify应该按照https://github.com/Leonidas-from-XIV/node-xml2js/issues/277上的讨论进行工作(“ pietersv于2017年11月2日发表评论” )。

引用:

将以下两个脚本添加到package.json并在运行npm test之后运行它们:

"browserify": "browserify ./xml2js.js  -s xml2js -o ./xml2js.js",
"minify": "cat ./xml2js.js  | uglifyjs > ./xml2js.min.js"

以HTML

<script type="text/javascript" src="/path/to/xml2js.min.js"></script>
<script>
    var xml = '<?xml version="1.0" encoding="UTF-8"?><note>Lorem ipsum dolor sit amet...</note>'
    var obj = xml2js.parseString(xml, function(err, res) { ... })
</script>

但是,截至今天(30.7.18),该版本仍无法与后续版本中的最新版本(0.4.19)配合使用(我本人!)。

相反,我使用了https://www.npmjs.com/package/xml-js并对其进行了浏览(在package.json中是:

"buildxml2js": "./node_modules/.bin/browserify ./node_modules/xml-js/dist/xml-js.js -o ./public/lib/xml-js.js")

,它很有魅力。将其构建为./public/lib/xml-js.js目录后,将其添加到html中:

<script type="text/javascript" src="/lib/xml-js.js"></script>

然后致电:

xml2json(the_xml)

json2xml(the_json)

抱歉,这实际上并不能解决您的特定问题,但是它提供了一种可行的解决方法。