|
|
|
новичок
      
участник
Last Login: 15.05.2008 18:18
Сообщ.: 6,
Visits: 75
|
|
| Заранее извиняюсь перед уважаемым сообществом за возможно глупый вопрос. Есть некий файл XML - А, куда надо вставить (возможно создать заново) очень не пустой узел. требуемая информация получается из другого XML файла - B. Файл A в корневом тэге имеет собственный штатный xmlns. Однако после импорта узла и сохранения результирующего файла А, в начальном тэге добавленного узла появляется пропись xmlns="... ..." , идентичная присутствующей в корневом тэге результ.файла А. Пока избавиться от него не удалось. Создание узла, наполнение и добавление его производится след.образом: If FindedForm(search_Form) Is Nothing Then ' node отсутствует - создать Dim FormElement As XmlElement = fcsm.CreateElement(Nothing, search_Form, Nothing) FormElement = fcsm.ImportNode(myNODE, True) FindedPart(0).AppendChild(FormElement) Else ' NOD присутствует, заменить новым содержимым Dim FormElement As XmlElement FormElement = fcsm.ImportNode(myNODE, True) FindedPart(0).ReplaceChild(FormElement, FindedForm(search_Form)) End IfПопытки удаления атрибута с помощью: Dim Attrs As XmlAttributeCollection = fcsm("XXX")("YYY")(search_Form).Attributes Attrs.Remove(Attrs.ItemOf("xmlns")) положительного результата не дает. Кто, что может предложить? С уважением.
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| [вопрос пересен из форума XML в форум по VB.NET] ImportNode копирует узел с учетом пространства имен исходного документа. Отсюда и возникает атрибут xmlns. Чтобы избавиться от него можно попробовать сначала вызвать CloneNode для исходного узла, и вставлять уже его. Или придется писать свою функцию клонирования узла. Других вариантов я не вижу.
|
|
|
|