[英]How to access and parse XML file using Java and JavaScript
对于开发领域来说是新手,如果我碰巧没有任何意义,请忽略我的无知……
我正在尝试访问位于我的EJB目录中的XML文件,该文件必须留在该目录中,我需要将其解析为javascript可访问对象(最好是JSON),以使用Javascript / Angular动态操作它。
使用JBOSS,文件的位置类似于
/FOO-ejb/src/main/resources/Config.xml,显然它不能通过Web访问,因为它不位于Web服务器的根目录下,
Java是后端,我似乎找不到其他方法来访问此文件以将其提供给前端,
我正朝着在EJB中使用服务访问文件,解析文件,然后使用REST服务将对象提供给前端的方向发展。...或编写JSP来读取文件,解析等等。。。还有其他更好的解决方案吗?
谢谢大家的宝贵时间!
我认为您想做的事情是无法实现的,因为这意味着您将使用Javascript访问文件系统,尽管HTML5提供了一些可以工作的File API,但无法访问文件系统中的任何文件,但这是不可能的。
因此,我想说的是,最合适的方向也许是更容易的方向,因为即使您找到了使用JavaScript的方法,也可能会依赖于浏览器,或者有些怪异的解决方法,可能会在将来的浏览器版本中打破。
过去,我曾在Servlet中使用Apache Abdera解析XML RSS feed并将其转换为JSON。 Abdera擅长这一点,并且对我来说非常完美。 获取JSON对象后,我只需要将其发送到响应,然后在客户端使用对Servlet的AJAX调用即可获取JSON对象。
代码是这样的:
try {
PrintWriter result = response.getWriter();
// Creates Abdera object and client to process the request.
Abdera abderaObj = new Abdera();
AbderaClient client = new AbderaClient(abderaObj);
AbderaClient.registerTrustManager(); // For SSL connections.
// Sent the HTTP request of the ATOM Feed through AbderaClient.
ClientResponse resp = client.get( "http://url/to/your/feed" );
// if the response was OK...
if (resp.getType() == ResponseType.SUCCESS) {
// We get the document as a Feed
Document<Feed> doc = resp.getDocument();
// Creates a JSON writer to convert the ATOM Feed
Writer json = abderaObj.getWriterFactory().getWriter("json");
// Converts the (XML) ATOM Feed into JSON object
doc.writeTo(json, result);
}
} catch (Exception ex) {
ex.printStackTrace(System.out);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.