Я работаю с множеством различных XML-файлов, где я не знаю элемент итерации в этом файле.
То, что я имею в виду под элементом итерации, - это элемент, который повторяется по всему XML-файлу (он также рассматривается в xsd-fiels как maxOccurs = "unbounded").
Например, файл заказов может содержать повторяющийся элемент под названием order
Некоторые примеры структур, которые я получаю,
<order>
<order>...</order>
<order>...</order>
</orders>
<products>
<product>...</product>
<product>...</product>
</products>
<root>
<element>...</element>
<element>...</element>
</root>
<products>
<section>
<someelement>content</someelement>
<item>...</item>
<item>...</item>
<item>...</item>
<item>...</item>
</section>
</products>
В приведенном выше примере итераторы / повторители называются:
orders > order
products > product
root > element
products > section > item
Мой обычный способ оценить итератор - загрузить полный XML-файл в xmldocument из этой схемы generate и xsd и найти из нее первый maxOccurs с подэлементами внутри него.
Это прекрасно работает, но использование xmldocument не очень хорошо работает с очень большими XML-файлами (gb-size).
Для этого мне нужно использовать xmlreader, но я понятия не имею, как я могу приблизиться к оценке итератора с xmlreader, так как я не могу использовать трюк xsd.
Итак, ищите информацию о том, как ее оценить, любые идеи приветствуются