gpt4 book ai didi

c# - 使用 IncludeRetElement Qbxml 仅返回特定的子元素

转载 作者:太空宇宙 更新时间:2023-11-03 12:52:41 26 4
gpt4 key购买 nike

我正在使用 Asp.Net Web 服务获取 QuickBook 的数据。我的要求是从公司文件中退回所有销售订单。这是我返回的 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() 从应用程序收到错误消息:错误!

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

最佳答案

你要么返回CustomerRef里面的所有东西, 否则不返回 CustomerRef在所有。

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

所以你的请求应该是这样的:

<IncludeRetElement>CustomerRef</IncludeRetElement>

如果您需要客户 ListID或客户 FullName .

关于c# - 使用 IncludeRetElement Qbxml 仅返回特定的子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34981052/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com