2015-02-10 35 views
1

我正在使用Quickbooks SDK(qbxml)进行桌面修改发票,并且出现错误“QuickBooks在解析提供的XML文本流时发现错误。”我使用C#作为开发语言。我正在使用“其他”和“FOB”字段显示UPS运送详情。修改QuickBooks中的发票给出异常“QuickBooks解析提供的XML文本流时发现错误。”?

<?xml version="1.0" encoding="utf-8"?> 
<?qbxml version="13.0"?> 
<QBXML> 
<QBXMLMsgsRq onError="stopOnError"> 
    <InvoiceModRq requestID="2"> 
    <InvoiceMod> 
    <TxnID>18D23-1422298930</TxnID> 
    <EditSequence>1423512371</EditSequence> 
    <Other>1ZAV49630440508209</Other> 
    <ShipDate>2015-02-03</ShipDate> 
    <FOB>2015-02-04</FOB> 
    </InvoiceMod> 
    </InvoiceModRq> 
</QBXMLMsgsRq> 
</QBXML> 

这是怎么回事?

+0

只是胡乱猜测,但由于XML看起来罚款乍一看也许解析器上的日期字符串格式扼流圈因为它需要的' 2015年2月3日''而不是2015年2月3日' Filburt 2015-02-10 14:05:39

+0

嗨Filburt,它没有工作。另外,当我一次修改一个字段时,它的工作正常。例如,如果我脱掉“Other”和“ShipDate”并保留“FOB”,它将成功更新。 – sony 2015-02-10 14:09:57

+0

不可否认,我并不熟悉QuickBooks SDK,因此我必须将其留给真正的专业人士。 – Filburt 2015-02-10 14:46:35

回答

1

qbXML 中元素的顺序很重要

如果引用文档:

或者一些常见问题在那里:

你会发现,它指定这个o刻申(FOB,然后并按ShipDate):

... 
<FOB >STRTYPE</FOB> <!-- optional --> 
<ShipDate >DATETYPE</ShipDate> <!-- optional --> 
... 

当你指定的顺序(并按ShipDate,然后FOB):

... 
<ShipDate>2015-02-03</ShipDate> 
<FOB>2015-02-04</FOB> 
... 

修正你的XML元素的顺序,你将所有设置。

+0

谢谢基思......它的工作很好! – sony 2015-02-12 20:29:52

相关问题