Использование Delphi 2009, я пытаюсь получить объявленный префикс пространства имен для применения к элементу документа в IXMLDocument, который я создаю. После создания элемента документа я могу объявить пространство имен с префиксом, но оно не применяется к элементу документа, и я не могу изменить префикс элемента документа. Если я использую doc.CreateElement (nodename, namespaceURI) для создания элемента документа, он добавляет указанный URI в качестве пространства имен по умолчанию для документа, чего я не хочу делать. Этот документ, который я создаю, будет добавлен в другой документ, у которого уже было пространство имен по умолчанию.Как установить префикс элемента документа в Delphi
Result := NewXMLDocument;
eleDoc := Result.CreateElement(TAG_IH_IMPORT, NS_HISTORIAN);
eleDoc.DeclareNamespace(FNamespacePrefix, NS_HISTORIAN);
где TAG_IH_IMPORT и NS_HISTORIAN строковые константы, eleDoc: IXMLNode и FNamespacePrefix: String.
Выходной сигнал этого выглядит следующим образом:
<Import xmlns="uri" xmlns:h="uri" />
Я действительно хочу, чтобы получить, что «час:» применяется к тегу импорта. Какие-либо предложения?
Спасибо.
Спасибо, Реми. Я уже реализовал это второе решение, но еще не вернулся сюда, чтобы опубликовать его. Ваше первое предложение чище, и я не знаю, почему я не пытался его начать, за исключением того, что я просто не ожидал, что он сработает. – RJCookeSE