BIRT:无法检索XML数据源。 XML数据源文件无效或文件不存在

时间:2014-07-04 13:14:27

标签: xml eclipse birt

我创建了一个XML数据源,用于从本地应用程序中获取XML数据。在创建数据集时,我收到以下错误。

org.eclipse.datatools.connectivity.oda.OdaException: XML data source cannot be retrieved. XML data source file is invalid or the file doesn't exist.
    at org.eclipse.datatools.enablement.oda.xml.ui.wizards.XPathChoosePage.populateXMLTree(XPathChoosePage.java:482)
    at org.eclipse.datatools.enablement.oda.xml.ui.wizards.XPathChoosePage.createPageCustomControl(XPathChoosePage.java:121)
    at org.eclipse.datatools.connectivity.oda.design.ui.wizards.DataSetWizardPage.createControl(DataSetWizardPage.java:123)
    at org.eclipse.jface.wizard.Wizard.createPageControls(Wizard.java:174)
    at org.eclipse.jface.wizard.WizardDialog.createPageControls(WizardDialog.java:736)
    at org.eclipse.jface.wizard.WizardDialog.setWizard(WizardDialog.java:1182)
    at org.eclipse.jface.wizard.WizardDialog.updateForPage(WizardDialog.java:1241)
    at org.eclipse.jface.wizard.WizardDialog.access$4(WizardDialog.java:1238)
    at org.eclipse.jface.wizard.WizardDialog$8.run(WizardDialog.java:1227)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.jface.wizard.WizardDialog.showPage(WizardDialog.java:1225)
    at org.eclipse.jface.wizard.WizardDialog.nextPressed(WizardDialog.java:915)
    at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:428)

XML URL返回以下数据:

<table>
  <row>
    <marketName>dd</marketName>
    <commodityName>Black Barley</commodityName>
    <priceType>Wholesale</priceType>
    <pricePerQtl>58.0</pricePerQtl>
    <date>2014-07-03 15:18:21</date>
  </row>
</table>

3 个答案:

答案 0 :(得分:2)

我只能在一种情况下重现这一点,即在开始标记之前有空格。所以要确保没有空格。

<?xml version="1.0" encoding="UTF-8"?>
<table>
  <row>
    <marketName>dd</marketName>
    <commodityName>Black Barley</commodityName>
    <priceType>Wholesale</priceType>
    <pricePerQtl>58.0</pricePerQtl>
    <date>2014-07-03 15:18:21</date>
  </row>
</table>

答案 1 :(得分:1)

enter image description here 当我点击这个 ^ next。

时发生了这种情况

正如您所看到的那样Use the XML file defined in datasource 但是在你的数据源上,你提供的是url所以解决方案:
 在完成报告设计之前,在数据源上使用XML文件。

然后,一旦完成设计,请将数据源指向url


您的url需要身份验证,安全过滤器会在您尝试访问该网址时将您重定向到登录页面 所以你可能需要:
 跳过验证网址以某种方式验证报告引擎请求。

答案 2 :(得分:0)

我在 Eclipse 2019-03 上使用 BIRT 4.7.0 也遇到了这个问题。

解决方法是在数据源中提供 XML 模式 (XSD)。