Я пытаюсь найти полные объекты XML в строке. Они были помещены в строку как XmlSerializer
, но могут быть или не быть полными. Я поиграл с идеей использования регулярных выражений, потому что это похоже на то, для чего они были созданы, за исключением того факта, что я пытаюсь разобрать XML.
Я пытаюсь найти полные объекты в форме:
<?xml version="1.0"?>
<type>
<field>value</field>
...
</type>
Я думал, что это регулярное выражение для поиска <?xml version="1.0"?><type>
и </type>
, но если поле имеет то же имя, что и type
, оно, очевидно, не будет работать.
Существует множество документов по синтаксическим анализаторам XML, но, похоже, всем им требуется полный, полностью сформированный документ для анализа. Мои объекты XML могут быть в строке, окруженной почти всем остальным (включая другие полные объекты).
hw<e>reR@lot$0fr@ndm&nchrs%<?xml version="1.0"?><type><field>...</field>...</type>@ndH#r$omOre!!>nuT6erjc?y!<?xml version="1.0"?><type><field>...</field>...</type>ty!=]
Регулярное выражение сможет сопоставить строку, исключая случайные символы, но не найдет complete объект XML. Мне нужен какой-то способ извлечь объект, проанализировать его с помощью сериализатора, а затем повторять до тех пор, пока в строке не останется больше допустимых объектов.