我想使用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>
答案 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中加载自定义报告,以使其正常工作。