在javaXML dom解析的时候 输出错误 前言中不许有内容 这个问题是哪里的错误?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在javaXML dom解析的时候 输出错误 前言中不许有内容 这个问题是哪里的错误?相关的知识,希望对你有一定的参考价值。

1、首先确定你的xml是否符合规范,是否有格式错误
2、用UE或者其他的文本编辑器打开xml看是否有乱码什么的
3、最好把你的错误异常贴出来,好让大家定位错误原因
参考技术A encoding='GBK'
就行了
参考技术B 你想问什么? 参考技术C 错误日志发出来啊 参考技术D 需要具体的错误内容 第5个回答  2012-07-03 还是看下错误信息再说吧

Nodejs用严格模式解析dom错误

【中文标题】Nodejs用严格模式解析dom错误【英文标题】:Nodejs parsing dom error with strict mode 【发布时间】:2015-04-29 15:26:21 【问题描述】:

我真的是 nodejs 的新手,我在这 3-4 天里让自己参加一个速成课程,以便在这方面做得更好......尝试运行这段代码:

(function () 

    var jsdom = require('jsdom');

    jsdom.env(  
      html: '<html><body><h1>Hello World!</h1><p class="hello">Heya Big World!</body></html>'
      //scripts: [
        //'http://code.jquery.com/jquery-1.5.min.js'
      //]
    , function (err, window) 
      //var $ = window.jQuery;
         var $ = require('jquery')(window)
      $('body').append("<div class='testing'>Hello World</div>");
      console.log($(".hello").text()); // outputs Hello World
    );

());

我收到此错误:

/root/node_modules/jsdom/lib/jsdom/living/helpers/validate-names.js:2
const xnv = require("xml-name-validator");
^^^^^
SyntaxError: Use of const in strict mode.
    at exports.runInThisContext (vm.js:73:16)
    at Module._compile (module.js:443:25)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/root/node_modules/jsdom/lib/jsdom/level1/core.js:8:20)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10

我无能为力解决它。抱歉,这个问题很简单......

【问题讨论】:

请参考***.com/questions/22603078/… @ZunedAhmed 我没有使用严格模式,它正在模块中使用... id 真的而不是编辑模块源代码... 请注意,jsdom 不再支持 NodeJS(您可以使用旧版) - jsdom 认为 NodeJS 旧版软件,仅支持 io.js 版本 4。github.com/tmpvar/jsdom/blob/master/Changelog.md 您可以将const 更改为var。如果您使用 --harmony 标志启动 node.js,它也可能会起作用。而且,你运行的是什么版本的 node.js? @jfriend00 谢谢,当我测试它是否正确时我会告诉你,以便你可以添加它作为答案。 【参考方案1】:

帮我把 jsdom"latest" 重新安装到旧版本 "3.1.2"

1) 删除node_modules中的jsdom文件夹

2) 将 package.json 中的依赖更改为:

"jsdom": "3.1.2"

3) 当然运行“npm install”

希望对你有帮助!

【讨论】:

我在使用 jsdom@3.1.2 版本时遇到了同样的问题。【参考方案2】:

最新版本的 jsdom 不再适用于 Node.js。这是来自他们的 github 页面。

请注意,从我们的 4.0.0 版本开始,jsdom 不再适用于 Node.js™,而是需要 io.js。仍然欢迎您安装 3.x 系列中的一个版本,如果您坚持使用传统技术,例如 Node.js™

正如 Roman Dunin 所说,如果您想将 jsdom 与 Node.js 一起使用,请回滚到 3.x 版本。 3.1.2 版是 4.0.0 版之前的最后一个版本

【讨论】:

以上是关于在javaXML dom解析的时候 输出错误 前言中不许有内容 这个问题是哪里的错误?的主要内容,如果未能解决你的问题,请参考以下文章

javaxml文件基础:Dom怎么生成xml文件

您推荐啥 Java XML 库(替换 dom4j)? [关闭]

您推荐啥 Java XML 库(替换 dom4j)? [关闭]

Java XML 解析:避免实体引用解析

「架构师必备」javaxml格式化输出

java中采用dom4j解析xml文件