2016-01-24 17 views
1

我使用Asp.Net Web服務來獲取QuickBook的數據。我的要求是從公司文件中返回所有銷售訂單。 這是我qbxml時返回使用IncludeRetElement返回特定的子元素Qbxml

<?xml version="1.0" ?> 
<QBXML> 
<QBXMLMsgsRs> 
<SalesOrderQueryRs requestID="whatever" statusCode="0" statusSeverity="Info" statusMessage="Status OK"> 
<SalesOrderRet> 
<TimeCreated>2013-08-27T16:33:27+05:00</TimeCreated> 
<CustomerRef> 
<ListID>80000033-1376329965</ListID> 
<FullName>SOURCE BY DESIGN:Q2633-Atrium1-Wigan</FullName> 
</CustomerRef> 
<RefNumber>5000</RefNumber> 
</SalesOrderRet> 
</SalesOrderQueryRs> 
</QBXMLMsgsRs> 
</QBXML> 

我只回用IncludeRetElement幾個字段。問題是我只想要3個字段,即TimeCreated,FullName,RefNumber。 這是我的C#代碼來建立請求。

 string strRequestXML = ""; 
     XmlDocument inputXMLDoc = null; 
     inputXMLDoc = new XmlDocument(); 
     inputXMLDoc.AppendChild(inputXMLDoc.CreateXmlDeclaration("1.0", null, null)); 
     inputXMLDoc.AppendChild(inputXMLDoc.CreateProcessingInstruction("qbxml", "version=\"4.0\"")); 
     XmlElement qbXML = inputXMLDoc.CreateElement("QBXML"); 
     inputXMLDoc.AppendChild(qbXML); 
     XmlElement qbXMLMsgsRq = inputXMLDoc.CreateElement("QBXMLMsgsRq"); 
     qbXML.AppendChild(qbXMLMsgsRq); 
     qbXMLMsgsRq.SetAttribute("onError", "stopOnError"); 
     XmlElement salesQueryRq = inputXMLDoc.CreateElement("SalesOrderQueryRq"); 
     qbXMLMsgsRq.AppendChild(salesQueryRq); 
     salesQueryRq.SetAttribute("requestID", "whatever"); 
     XmlElement timeCreated = inputXMLDoc.CreateElement("IncludeRetElement"); 
     salesQueryRq.AppendChild(timeCreated).InnerText = "TimeCreated"; 
     XmlElement customerRef = inputXMLDoc.CreateElement("IncludeRetElement"); 
     salesQueryRq.AppendChild(customerRef).InnerText = "CustomerRef"; 
     XmlElement templateRef = inputXMLDoc.CreateElement("IncludeRetElement"); 
     salesQueryRq.AppendChild(templateRef).InnerText = "RefNumber"; 
     strRequestXML = inputXMLDoc.OuterXml; 
     req.Add(strRequestXML); 

如何從中刪除ListID。我試圖將IncludeRetElement添加到CustomerRef,但它給出了錯誤。

XmlElement fullName = inputXMLDoc.CreateElement("IncludeRetElement"); 
customerRef.AppendChild(fullName).InnerText = "FullName"; 

通過getLastError()從應用程序接收到的錯誤消息:錯誤!

需要幫助我做錯了什麼?

回答

1

你必須在CustomerRef之內返回一切,或者不返回CustomerRef AT ALL。

QuickBooks不支持僅返回CustomerRef/FullName,而不是CustomerRef/ListID

所以你的要求應該是這樣的:

<IncludeRetElement>CustomerRef</IncludeRetElement>

如果您需要任何客戶ListID或客戶FullName

相關問題