Запись после узла с XmlWriter - PullRequest
0 голосов
/ 12 января 2012

У меня мало документации по XmlReader, у меня есть структура для узла, которая выглядит следующим образом

<person key="17000000">
    <name>John Doe</name>
    <age>23</age>
</person>

И файл, содержащий группу людей, который должен быть заказан по ключу.

<group>
    <person key="123"> ... </person>
    <person key="130"> ... </person>
</group>

Я пишу функцию, которая вставляет их в правильном порядке, но у меня возникают проблемы с указанием места, где нужно вставить нового человека. Пока что я делаю следующее:

  1. Создать программу чтения для группового файла и программу записи для временного файла.
  2. Чтение до тех пор, пока ключ считывателя не станет больше ключа запроса, во время чтения записывайте узлы в temp.
  3. Запись структуры запроса во временный файл.
  4. Прочитать оставшуюся часть файла и записать во временный файл.
  5. Заменить файл группы временным файлом.

Пока что не работает, и файл выглядит так (если 130 вставлено после 123):

<group>
    <group>
        <person key="123"> ... </person>
    </group>
    <person key="130"> ... </person>
</group>

Существует ли общий способ вставки структур в файлы XML?

У меня есть некоторые ограничения, например, я должен использовать XmlReader и XmlWriter, а использование памяти ограничено, поэтому я могу работать с указателем чтения и записи, и все.

Я ценю вашу помощь!

...