2017-11-01 9 views
0

いずれかの人がBIRTレポートを読み、レポートに使用するライブラリとデータセットを入手する方法を教えてください。BIRTレポートで使用されているライブラリファイルを読むにはどうすればよいですか?

私は私が org.apache.xerces.jaxp.SAXParserFactoryImplを取得しています.every時間がjavax.xml.parsers.SAXParserFactory --ERRORにキャストすることができないファイルを読むために、すべての異なるパーサを使用してみました。

後で私はApache Xerces - DOM Parserを試しました Apache Xerces-DOM Parserを使用すると、XMl形式のレポートを解析できますが、読み込めません...投げエラーです。

ヘルプが必要です。

+0

質問が不明です。 BIRTを使用してレポートデザインを編集するのではないようです。あなたの質問はbirtとタグ付けされていますが、明らかにBIRTの使用に関する質問ではありません。 – hvb

+0

私の質問はBIRTレポートのみです。私は、BIRTレポートデザインファイルを読み、解析する必要があります。ライブラリとデータセットは.rptデザインファイルで使用されます – ASHA

答えて

0

私はこれまでにこのようなことをしました。あなたが慎重に読めば、私はあなたのアイデアを得ると思う、

  1. javax.xml.parsers.*
  2. javax.xml.xpath.*
  3. 以下org.w3c.dom.*

サンプルコードでのXPathに沿って、JDKにemdeeded標準のパーサを使用することができます。

//this path contains dataset start 
    public static final String RPTLIBRARY_XPATH_DATA_SET_NODE_START = "//library/data-sets/oda-data-set[@name='"; 

    //this path contains SQL in rptlib 
    public static final String RPTLIBRARY_XPATH_QUERYTEXT_NODE_END = "']/xml-property[@name='queryText']"; 

    public Document getXMLAsDocumentObject(InputStream is) throws ParserConfigurationException, SAXException, IOException{ 
     DocumentBuilder dBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); 
     Document doc = dBuilder.parse(is); 
     doc.normalize(); 

     return doc; 
    } 

    public Node getNode(Element element, String xPath) throws XPathExpressionException{ 
     _log.debug(xPath); 

     XPathExpression xPathExpression = XPathFactory.newInstance().newXPath().compile(xPath); 
     Node tableNode = (Node) xPathExpression.evaluate(element, XPathConstants.NODE); 

     return tableNode; 
    } 

    public NodeList getNodeList(Element element, String xPath) throws XPathExpressionException{ 
     _log.debug(xPath); 
     XPathExpression xPathExpression = XPathFactory.newInstance().newXPath().compile(xPath); 
     NodeList nodeList = (NodeList) xPathExpression.evaluate(element, XPathConstants.NODESET); 

     return nodeList; 
    } 
+0

ありがとうございます。私は同じように使用しようとします。 – ASHA

関連する問題