Сложность анализа XMLC#

Место общения программистов C#
Ответить
Anonymous
 Сложность анализа XML

Сообщение Anonymous »

Этот код C#:

Код: Выделить всё

HttpClient apiP21 = new();
apiP21.DefaultRequestHeaders.Add("client_secret", "thesecret");
apiP21.DefaultRequestHeaders.Add("grant_type", "client_credentials");
apiP21.DefaultRequestHeaders.Add("username", "theuser");
var tokenRequestDataContent = new StringContent("", Encoding.UTF8, "application/xml");
var tokenResponse = apiP21.PostAsync("theendpoint", tokenRequestDataContent).Result;
if (!tokenResponse.IsSuccessStatusCode)
{
return BadRequest("Could not get Security Token");
}
string tokenResponseRaw = tokenResponse.Content.ReadAsStringAsync().Result;

XmlDocument tokenResponseXML = new();
tokenResponseXML.LoadXml(tokenResponseRaw);
XmlNamespaceManager nsmgr = new(tokenResponseXML.NameTable);
nsmgr.AddNamespace("act", "http://distributionsuite.activant.com");
XmlNode accessTokenNode = tokenResponseXML.SelectSingleNode("//act:AccessToken", nsmgr)!;
string accessToken = accessTokenNode?.InnerText!;
По какой-то причине я получаю значение null в accessTokenNode. Я не понимаю почему.
Вот выходные данные визуализатора XML из tokenResponseRaw (я опустил сам токен). Мне просто нужно получить токен безопасности. Что я делаю не так?

Код: Выделить всё


thetoken
Bearer
theuser
86400

/api;/data;/odata:inv_mast,inv_loc,users,roles,pricing_library,inv_sub,serial_number
d0232f06-69fb-499d-bf41-4d8e6ae9b6c2
7

Я ожидал получить узел AccessToken, но получил ноль...

Подробнее здесь: https://stackoverflow.com/questions/790 ... arsing-xml
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»