用javascript从java解析XML
parser XML with javascript from java
javax.script.*
基于
DOMParser不是JS的一部分,而是制作JS的Mozilla浏览器的一部分可以在浏览器中使用XPConnect编写脚本。另一种选择使用内置的E4X。
和
E4X在Rhino (Java编写的JavaScript引擎)中实现。
试一试:
import java.io.IOException;
import java.util.Map;
import javax.script.Bindings;
import javax.script.ScriptContext;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class heshCode {
public static void main(String[] args) throws IOException {
scripter();
}
public static void scripter() {
try {
String Jscript = "var map = {};" + "'n"+
"var x = new XML();" +
"var person = new XML('<person><name>Bob Smith</name><likes><os>Linux</os><browser>Firefox</browser><language>JavaScript</language><language>Python</language></likes></person>');" +
"map[1]=person.name;" +
"map[2]=person['name'];" +
"map[3]=person.likes.browser;" +
"map[4]=person['likes'].browser;";
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine rhinoEngine = manager.getEngineByName("javascript");
Bindings bindings = rhinoEngine
.getBindings(ScriptContext.ENGINE_SCOPE);
rhinoEngine.eval(Jscript.toString());
@SuppressWarnings("unchecked")
Map<String, String> m = (Map<String, String>) bindings.get("map");
for (Map.Entry<String, String> entry : m.entrySet()) {
System.out.println(entry.getKey() + " = " + entry.getValue());
}
} catch (ScriptException e) {
System.out.println(e.getMessage());
}
}
}
但是我得到错误:
sun.org.mozilla.javascript.EcmaError: ReferenceError: "XML" is not defined. (<Unknown source>#2) in <Unknown source> at line number 2
有什么想法/建议吗?
脚本程序员指南明确指出它已经排除了E4X(用于XML的ECMAScript)。看看这个http://docs.oracle.com/javase/6/docs/technotes/guides/scripting/programmer_guide/。
我有一个类似的问题,我必须使用java脚本解析XML并获得输出。然后我使用Mozilla Rhino (https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino)。
它很适合我的情况。
希望这篇文章对遇到类似问题的人有所帮助。
相关文章:
- 在 html 中使用 javascript 解析 xml
- 使用jquery动态解析XML文件
- 使用 java 脚本或 Jquery 解析 XML
- 如何在 JavaScript 中解析 XML
- 使用php解析xml并将其转换为json以与$.ajax一起使用时遇到问题
- Ionic框架:从responseText解析xml
- jquery从单个和多个标签解析xml
- 解析XML和Javascript函数的问题
- 在Javascript中解析XML时出现问题
- JQuery AJAX试图解析XML,即使使用“dataType”:“JSON”
- 解析 XML 到 js 数据,如何访问特定标记
- 如何从字符串解析 XML dom
- Google Apps 脚本:解析 XML 会导致错误:“无法在对象中找到函数 getChildren”
- PhoneGap - 如何使用javascript解析xml字符串
- 如何在javascript Nashorn引擎中解析XML
- 在 JS 中解析 XML 文件
- 语法错误?解析 XML 值时
- 如何在javascript中解析xml字符串?(不是客户端,与浏览器相关)
- 如何在 Jquery 中解析 XML 对象
- 需要解析其他网页的值.首先,我需要调用其他网页并从中解析 XML 值