避免XML响应中的名称空间(标签)
问题描述:
以下是方案 - 我们使用Java从Cisco ips(SDEE服务器)提取数据。它是一个正常的Web请求,我们正在使用HttpsURLConnection。响应采用XML形式。避免XML响应中的名称空间(标签)
我们有一个UI(web应用程序),可以触发作业来提取数据;我们还有一个独立的实用程序,也可以触发作业来提取数据。因此,两种情况下从sdee服务器检索数据的代码都是相同的。使用Quartz来安排工作,尽管这里的信息并不重要。
现在的问题 - 当用户界面触发作业时,我们得到预期的XML,没有问题。但是,当使用该实用程序触发作业时,我们会得到相同的xml,但其标签中包含名称空间。
< [ 'http://example.org/2003/08/sdee ']:SD:evIdsAlert EVENTID =' 123' 供应商='思科严重性= '低'> < [' http://example.org/2003/08/sdee ']:SD:始发>
[' http://example.org/2003/08/sdee“] - 这是我们正在得到的额外的东西。我们不希望这在XML中。
任何有助于确定此根目录将不胜感激。由于代码相同,我怀疑可能是一些环境设置正在影响响应,不知道是什么?
请让我知道,如果我需要任何额外的信息。
代码的某些部分(即我们使用),只为参比
// get the connection
connection = (HttpsURLConnection) url.openConnection();
// get the reader
new BufferedReader(new InputStreamReader(connection.getInputStream()));
// read response line by line and dump it to the file
的代码非常简单 - 一个标准拉使用HTTP(S)数据。
答
这个问题是由于不同的XML解析器。现在它是固定的。