![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
xmlns наследование [D7, XP]
Девушка © (2006-01-08 10:43:00)Возможно ли отключить наследование аттрибута xmlns ???
У меня после выполнения кода
XMLDocument1.AddChild('Node1');
with XMLDocument1.ChildNodes.Nodes['Node1'] do begin
SetAttributeNS('xmlns','','xmlns value');
// или Attributes['xmlns']:='xmlns value'; - без разницы
AddChild('Node21');
AddChild('Node22');
end;
у узлов 'Node21' и 'Node22' автоматически появляется пустой аттрибут 'xmlns'. Как это отключить ?
Девушка (2006-01-08 15:12:00) [1]Команда
XMLDocument1.DOMDocument.getElementsByTagName('Node1').item[0].attributes.setNamedItem(XMLDocument1.DOMDocument.createAt tribute('xmlns'));
создает аттрибут только в Node1. Т.е. вроде все OK но, при поптыке сказать
Attributes['xmlns']:='xmlns value';
идет ошибка, дескать это - "read only node"
Девушка (2006-01-08 12:36:00) [2]>Attributes['xmlns']:='xmlns value';
Тоже создает аттрибут в дочерних узлах.
Причем что раньше создавать аттрибут или дочерний узел - без разницы.
Код
procedure TForm1.Button5Click(Sender: TObject);
begin
XMLDocument1.Active:=true;
XMLDocument1.AddChild('Node1');
with XMLDocument1.ChildNodes.Nodes['Node1'] do begin
// SetAttributeNS('xmlns','','xmlns value');
Attributes['xmlns']:='xmlns value';
AddChild('Node21');
AddChild('Node22');
end;
XMLDocument1.SaveToFile(GetCurrentDir+'\1.xml');
end;
Создает файл
<Node1 xmlns="xmlns value"><Node21 xmlns=""/><Node22 xmlns=""/></Node1>
Что я не так делаю?
Гаврила (2006-01-08 12:28:00) [3]
> // или Attributes['xmlns']:='xmlns value'; - без
> разницы
Разница как раз в этом, проверьте