Примера:Найти родительский элемент в недопустимой строке XML в заданном положении
...some string content here...
<test>
<a>
...something...
</a>
<a/>
{position 1}
<b>{position 2}
<c>
...something else...
{position 3}
</c>
<c/>
<d>
<e/>
{position 4}
<e>
...another thing here...
{position 5}
</e>
</d>
{position 6}
</b>
{position 7}
...more xml and other sting content...
мне нужно найти родительский элемент в охватывающем (например) позициях , указанные выше.
Результаты: {position 1} = test {position 2} = b {position 3} = c {position 4} = d {position 5} = e {position 6} = b {position 7} = тест
Примечание: - ни один из каких-либо имен элементов тегов известно - строка отверстия может включать ноны содержимого XML - размер данных очень большой (> 50MB текстового файл)
Должна быть внедрена техника поиска для чтения назад, начиная с заданной позиции, до действительного соответствия (если любой).
Thanx
Какой язык вы используете? У вас есть возможность загрузить эту строку в объект XML, а затем выполнить родительскую функцию find? Кажется, что это было бы более гладкое решение, чем регулярное выражение. – cepatt
Каждый язык, который я знаю, имеет большие XML-парсеры или обертывания libxml или тому подобное. Если данные огромны, используйте потоковый парсер, например expat. –
Язык: C# Его слишком большой для загрузки, а также он содержит недопустимый контент или неприемлемые символы – mtsiakiris