| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > XML, XSL > Удаление элемента и его содержимого. |
| Автор: GlooMMy 8.6.2010, 09:35 |
| Как удалить элемент и все его содержимое (если существуют дочерние то их тоже) из файла xml с помощью xslt? Элементов с таким именем может быть много и всех их нужно удалить. |
| Автор: diadiavova 8.6.2010, 11:28 |
| Просто включи в преобразование шаблон, который будет соответствовать ненужному элементу и оставь шаблон пустым. |
| Автор: GlooMMy 8.6.2010, 12:44 | ||
| Можно пример кода? Допустим необходимо удалить other и все что вложено в него.
|
| Автор: diadiavova 8.6.2010, 12:58 | ||
Единственная оговорка: в закрывающих тегах слешь стоит в начале, а не как у тебя |
| Автор: GlooMMy 8.6.2010, 13:50 |
| апячатка Что-то ничего не изменилось... У меня элемент глубоко вложен, может из-за этого? |
| Автор: diadiavova 8.6.2010, 13:56 | ||||
В каком смысле не изменилось? Вот такой документ я япреобразовывал
И вот что получилось
Добавлено через 51 секунду В двух местах. |
| Автор: GlooMMy 8.6.2010, 14:01 |
| еще раз ща проверю.. работает а на моем файле не работает:( |
| Автор: GlooMMy 8.6.2010, 14:20 | ||
что не так в этой строчке?
|
| Автор: diadiavova 8.6.2010, 14:28 |
Ща я твой файл оттелепатирую - объясню С точки зрения синтаксиса вроде всё нормально. А при чём тут эта строчка? |
| Автор: GlooMMy 9.6.2010, 08:43 |
| Когда убираю все атрибуты у элемента document, то все работает, а с ними нет. а именно дело в атрибуте: xmlns='http://www.lotus.com/dxl' |
| Автор: diadiavova 9.6.2010, 10:01 | ||||
Это не атрибут, а пространство имён. В документах с с пространствами имён без префиксовподобные трудности бывают. Тут надо либо добавить префикс, либо проверять в атрибуте match шаблона принадлежность к данному пространству с помощью функции http://msdn.microsoft.com/ru-ru/library/ms256466.aspx. Сначала попробуй переписать узел так
Не выйдет - тогда используй один из вышеозначенных способов. |