У меня есть файл XML.Справка по Regexp из xml (Tcl)
<?xml version="1.0"?>
<catalog>
<book id="bk101">
</book>
<catalog>
Я прочитал файл и сохранить его в file_data
set data [split $file_data "\n"]
foreach line $data {
regexp { book id=\"(.*)\" } $line all dummy
puts $all
puts $dummy
}
Так вот, как вы можете видеть, что я пытаюсь читать книгу идентификатор и распечатать его. Я получаю ошибку, которая не найдена? Я делаю это неправильно?
Редактировать
Жутко, когда я пытаюсь это:
set mydata {<book id="bk101"> testing the code }
puts $mydata
regexp {book id="(.*)"} $mydata all part
puts $all
puts $part
Выход
<book id="bk101"> testing the code
book id="bk101"
bk101
понятия не имеют код в верхней части все еще показывает ошибку
Отсутствует знак '' '' '? – Orbling
Ваша проблема заключается в использовании регулярных выражений для анализа XML. Вместо этого, вы знаете, синтаксический анализатор XML. –
где? вы имеете в виду regexp {book id = \ "(. *) \"} $ line $ dummy – Sii