0
我目前正在使用python和NetSuite Webservices進行一個側面項目。我已經能夠成功發送數據中心的請求。我使用元素樹導入來解析xml請求和響應。無論我試圖抓住下面的一個網址,我最終都沒有獲得任何價值,我認爲這與名字空間有關,而我很害怕。Netsuite命名空間問題
<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<platformMsgs:documentInfo xmlns:platformMsgs="urn:messages_2016_1.platform.webservices.netsuite.com">
<platformMsgs:nsId>WEBSERVICES__XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</platformMsgs:nsId>
</platformMsgs:documentInfo>
</soapenv:Header>
<soapenv:Body>
<getDataCenterUrlsResponse xmlns="">
<platformCore:getDataCenterUrlsResult xmlns:platformCore="urn:core_2016_1.platform.webservices.netsuite.com">
<platformCore:status isSuccess="true" />
<platformCore:dataCenterUrls>
<platformCore:restDomain>https://rest.na1.netsuite.com</platformCore:restDomain>
<platformCore:webservicesDomain>https://webservices.na1.netsuite.com</platformCore:webservicesDomain>
<platformCore:systemDomain>https://system.na1.netsuite.com</platformCore:systemDomain>
</platformCore:dataCenterUrls>
</platformCore:getDataCenterUrlsResult>
</getDataCenterUrlsResponse>
</soapenv:Body>
</soapenv:Envelope>
import xml.etree.ElementTree as ET
ns = {'platformCore': 'urn:messages_2016_1.platform.webservices.netsuite.com'}
xml.find('platformCore:webservicesDomain', ns)
的xml.find()永遠不會返回任何東西,但不管選擇或命名空間空值。如果有人能夠向我介紹什麼是正確的方式,所以我可以從這些答覆中獲得這個URL和其他數據,我會很感激。
如果您想知道爲什麼我會以困難的方式做事,而不是使用客戶端或更好的工具。我試圖在使用特定版本的python 3(3.3.6)的sublime文本3中嵌入一些webservice功能,並且導入庫不是不可能,而是一件麻煩事。
對不起,我已經超最近比較忙。我會給它一個去看看它是否有效 –