如何通过xml获取自定义报告数据

时间:2019-06-17 05:07:32

标签: php xml curl tally

我想使用xml获取提示自定义(用户定义的报告)报告数据。 像:-获取“未清”报告,“待付款的采购帐单”,“待付款的销售帐单”等。

<ENVELOPE>  
  <HEADER>  
    <TALLYREQUEST>Export Data</TALLYREQUEST>  
  </HEADER>  
  <BODY>  
    <EXPORTDATA>  
      <REQUESTDESC>  
        <!-- Specify the Report Name here -->  
        <REPORTNAME>My Own Report</REPORTNAME>  
        <STATICVARIABLES>  
          <SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT>  
        </STATICVARIABLES>  
      </REQUESTDESC>  
    </EXPORTDATA>  
  </BODY>  
</ENVELOPE>

2 个答案:

答案 0 :(得分:0)

阅读How do you parse and process HTML/XML in PHP?,有很多方法可以在PHP中解析XML。例如,在您的情况下,要获得REPORTNAME,可以使用DOMDocument,

$domd=@DOMDocument::loadHTML($xml);
$report_name=$domd->getElementsByTagName("REPORTNAME")->item(0)->textContent;

答案 1 :(得分:0)

Here's一个有关如何通过XML请求报告的链接:

代码如下。您需要替换标签以具有自定义报告的名称。

<ENVELOPE>
<HEADER>
<VERSION>1</VERSION>
<TALLYREQUEST>Export</TALLYREQUEST>
<TYPE>Data</TYPE>
<ID>Trial Balance</ID>
</HEADER>
<BODY>
<DESC>
<STATICVARIABLES>
<EXPLODEFLAG>Yes</EXPLODEFLAG>
<SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT>
</STATICVARIABLES>
</DESC>
</BODY>
</ENVELOPE>
  • 假设您有办法通过CURL或PHP通过其端口(通常是localhost:9000)对Tally执行ping操作。一种简单的方法是将此XML存储在文件中(例如my_report.xml),install curl,然后只需运行命令

    卷曲-X POST本地主机:9000 --data @ my_report.xml

  • 还应通过Tally在Tally中加载自定义报告,以使其正常工作。