我有从QuickBooks返回的XML响应。这里我想要做的是我需要根据“DataExtRet”中的“DataExtValue”ID更新“CustomerRet”中的“LISTID”。这个“DataExtValue”ID已经存在于我的数据库中。我需要读取值“listId”和“dataextvalue”。如何循环这些值?通过不同xml节点的Foreach
下面是我的XML
<?xml version="1.0" ?>
<QBXML>
<QBXMLMsgsRs>
<CustomerAddRs statusCode="0" statusSeverity="Info" statusMessage="Status
OK">
<CustomerRet>
<ListID>8000002B-1502038359</ListID>
<TimeCreated>2017-08-06T22:22:39+05:30</TimeCreated>
<TimeModified>2017-08-06T22:22:39+05:30</TimeModified>
<EditSequence>1502038359</EditSequence>
<Name>MVK -C17</Name>
<FullName>MVK -C17</FullName>
<IsActive>true</IsActive>
<Sublevel>0</Sublevel>
<Balance>0.00</Balance>
<TotalBalance>0.00</TotalBalance>
<JobStatus>None</JobStatus>
<PreferredDeliveryMethod>None</PreferredDeliveryMethod>
</CustomerRet>
</CustomerAddRs>
<DataExtModRs statusCode="0" statusSeverity="Info" statusMessage="Status OK">
<DataExtRet>
<OwnerID>0</OwnerID>
<DataExtName>Category</DataExtName>
<DataExtType>STR255TYPE</DataExtType>
<DataExtValue>1319</DataExtValue>
</DataExtRet>
</DataExtModRs>
<CustomerAddRs statusCode="0" statusSeverity="Info" statusMessage="Status
OK">
<CustomerRet>
<ListID>8000002C-1502038359</ListID>
<TimeCreated>2017-08-06T22:22:39+05:30</TimeCreated>
<TimeModified>2017-08-06T22:22:39+05:30</TimeModified>
<EditSequence>1502038359</EditSequence>
<Name>Mutex-C17</Name>
<FullName>Mutex-C17</FullName>
<IsActive>true</IsActive>
<Sublevel>0</Sublevel>
<Balance>0.00</Balance>
<TotalBalance>0.00</TotalBalance>
<JobStatus>None</JobStatus>
<PreferredDeliveryMethod>None</PreferredDeliveryMethod>
</CustomerRet>
</CustomerAddRs>
<DataExtModRs statusCode="0" statusSeverity="Info" statusMessage="Status
OK">
<DataExtRet>
<OwnerID>0</OwnerID>
<DataExtName>Category</DataExtName>
<DataExtType>STR255TYPE</DataExtType>
<DataExtValue>1524</DataExtValue>
</DataExtRet>
</DataExtModRs>
</QBXMLMsgsRs>
</QBXML>
这里是我的C#代码
XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(response);
XmlNodeList中parentNode = xmlDoc.GetElementsByTagName( “CustomerRet”); XmlNodeList customnode = xmlDoc.GetElementsByTagName(“DataExtRet”);
foreach (XmlNode childrenNode in parentNode) { cust.CustomerListID = childrenNode.SelectSingleNode("ListID").InnerText; //Here I need to get the DataExtValue which is in customnode }
目前还不清楚'CustomerAddRs'与'DataExtModRs'的关系。是否有一些元素值“加入”,还是仅仅因为他们是兄弟姐妹而相关? –
这两者之间没有实际关系。在发送请求时,我以这样一种方式形成XML,即“Dataextvalue”只是应该在相关客户列表项目旁边的自定义数据。所以作为响应,我以相同顺序获取它。 –
如果有一种方法可以在客户请求中发送自定义数据,我真的很高兴。但这在API中是不可能的。 –