Я использую процессор XSLT от Microsoft для обработки блока XML.
Мне нужно разбить на несколько подузлов, используя XSLT 1.0.
Ввод очень регулярный и имеет вид "###, ##: ##> пользовательский текст"
Я думаю, что должен быть в состоянии использовать это начальное число и время в качестве некоторого типа маркера / разделителя.
Примером может быть:
<xmldocument>
<Notes>422, 10:06> Test Note 1 422, 10:03> Test Note 2 </Notes>
</xmldocument>
В этом случае есть 2 примечания:
- 422, 10:06> Тестовое примечание 1
- 422, 10:03> Контрольная записка 2
Ведущий номер может и будет меняться. Таким образом, он не может быть использован в качестве разделителя. Я ДУМАЮ можно использовать запятую и больше, чем для нахождения сообщения.
Желаемый вывод:
<xmldocument>
<Notes>
<Note>
<NoteTime>10:06</NoteTime>
<NoteText>Test Note 1 (422)</NoteText>
</Note>
<Note>
<NoteTime>10:03</NoteTime>
<NoteText>Test Note 2 (422)</NoteText>
</Note>
</Notes>
</xmldocument>
Пример с одной заметкой:
<xmldocument>
<Notes>999, 10:06> Test Note 1</Notes>
</xmldocument>
даст:
<xmldocument>
<Notes>
<Note>
<NoteTime>10:06</NoteTime>
<NoteText>Test Note 1 (999)</NoteText>
</Note>
</Notes>
</xmldocument>
И пример с 3 примечаниями:
<xmldocument>
<Notes>999, 10:06> Test Note 1 123, 10:08> Test Note 2 456, 10:10> Test Note 3</Notes>
</xmldocument>
даст:
<xmldocument>
<Notes>
<Note>
<NoteTime>10:06</NoteTime>
<NoteText>Test Note 1 (999)</NoteText>
</Note>
<Note>
<NoteTime>10:08</NoteTime>
<NoteText>Test Note 2 (123)</NoteText>
</Note>
<Note>
<NoteTime>10:10</NoteTime>
<NoteText>Test Note 2 (456)</NoteText>
</Note>
</Notes>
</xmldocument>
Полагаю, я мог бы сделать это с помощью чего-то вроде this , но мне кажется, что мне не нужно было добавлять сложность этого уровня, чтобы сделать это.