Учитывая следующие сложные xml.
<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
<params>
<param>
<value>
<struct>
<member>
<name>resps</name>
<value>
<array>
<data>
<value>
<struct>
<member>
<name>param0</name>
<value>
<struct>
<member>
<name>param1</name>
<value>
<int>12</int>
</value>
</member>
<member>
<name>param2</name>
<value>
<int>12</int>
</value>
</member>
</struct>
</value>
</member>
<member>
<name>param12</name>
<value>
<int>3143</int>
</value>
</member>
<member>
<name>param3</name>
<value>
<int>207</int>
</value>
</member>
<member>
<name>param4</name>
<value>
<int>4056</int>
</value>
</member>
<member>
<name>param5</name>
<value>
<int>267</int>
</value>
</member>
<member>
<name>param6</name>
<value>
<double>1.290682</double>
</value>
</member>
</struct>
</value>
</data>
</array>
</value>
</member>
<member>
<name>errors</name>
<value>
<array>
<data />
</array>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodResponse>
Я хочу проанализировать это и получить ключ / значения, которые имеют решающее значение для меня - это param0 и param1 и т. Д. И т. П.
Я пробовал несколько подходов,Начиная с использования xpath для перехода к нужным узлам, парсинга до JObject
и опрашивая его таким образом, или просто сохраняя его в виде строки, и пытаясь RegEx получить нужные мне элементы.Я даже зашел так далеко, что получил внутренний текст XML и попытался извлечь текст, перебирая различные символы.
Я не хочу десериализовать это в объект, а это просто переместит проблемув строго типизированную форму.
Все эти методы кажутся очень неуклюжими и не поддерживаемыми.Я ищу советы или указания для наилучшего способа обработки / анализа этих данных.
Я не могу изменить источник данных вообще.