У меня есть строка, которая содержит XML-представление узла XML, который я намереваюсь вставить в документ XML, загруженный в память. XML-строка (узла) выглядит примерно так:
<ns1:Feature name=\"PageSize\">\
<ns1:Option name=\"A4\" />\
</ns1:Feature>
Таким образом, у него есть пространство имен для имен тегов.
Есть ли способ, которым я могу достичь этого?
Я пытался пользователя XMLDomNode->put_text()
, но он не работает, так как заменяет<символы «и»> по их текстовым представлениям (<
так далее.)
Мне было интересно, подойдет ли загрузка строкового буфера в отдельный XML-документ в памяти и затем получение указателя узла оттуда на моем исходном документе. Но опять же, не уверен, могут ли XMLDOM-узлы передаваться внутри документов.
Я решил это сам, используя 2-й подход:
1) Создайте XML-документ в памяти на основе IXMLDOMDocument3 интерфейс и загрузить строку XML там.
2) Выберите нужный вам узел, используя selectNode () метод.
3) Теперь вернитесь к исходному XML-документу, где вы хотите разместить узел, и снова загрузите его как IXMLDOMDocument3 интерфейс.
4) Используйте importNode () метод IXMLDOMDocument3 с шага 3 клонировать узел, полученный на шаге 2.
5) Теперь вы можете использовать клонированный узел, чтобы сделать AppendChild () к оригинальному XML.