我有從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中是不可能的。 –