首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用IncludeRetElement Qbxml只返回特定的子元素

使用IncludeRetElement Qbxml只返回特定的子元素
EN

Stack Overflow用户
提问于 2016-01-24 20:28:27
回答 1查看 699关注 0票数 2

我正在使用Asp.Net Web服务来获取QuickBook的数据。我的要求是从公司档案中退回所有的销售订单。这是我返回的qbxml

代码语言:javascript
复制
<?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#代码。

代码语言:javascript
复制
        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中,但它会产生错误。

代码语言:javascript
复制
 XmlElement fullName = inputXMLDoc.CreateElement("IncludeRetElement");
 customerRef.AppendChild(fullName).InnerText = "FullName";

通过()从应用程序接收到的错误消息: Error!

我做错了什么需要帮助吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-25 00:02:14

您必须返回CustomerRef中的所有内容,或者根本不返回CustomerRef

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

因此,您的请求应该是:

<IncludeRetElement>CustomerRef</IncludeRetElement>

如果您需要Customer ListID或Customer FullName

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34981052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档