2015-02-10 64 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

相關問題