Проверка декларации XML в VB6 - PullRequest
0 голосов
/ 22 февраля 2011

Во-первых, извинения ... Я не использовал VB6 (или какой-либо штамм VB в этом отношении) в течение очень долгого времени.

У меня был следующий код

nodRoot.appendChild TempTableData.childNodes(0)

Это приводит к ошибке «Эта операция не может быть выполнена с узлом типа XMLDECL».

Поэтому я перебираю дочерние узлы следующим образом, чтобы не добавлять узел, если это декларация XML.

      Dim nod As IXMLDOMNode
      For Each nod In TempTableData.childNodes()
        If Not nod.baseName = "xml" Then
          nodRoot.appendChild nod
        End If
      Next nod

Что работает нормально, но кажется не элегантным способом проверки объявления узла XML.Поэтому я хотел бы проверить соответствие типа узла = XMLDECL, но я не могу найти способ сделать это.

Приветствия.

1 Ответ

1 голос
/ 22 февраля 2011

Как и вы, я углубляюсь в глубины древней памяти, но у меня есть смутное воспоминание о том, что в реализациях COM XML узел XML-декларации имел nodeType = NODE_PROCESSING_INSTRUCTION (= 7).

Так что, если удаление всех инструкций по обработке в порядке, вы можете отфильтровать их, иначе вам все равно придется проверить baseName, чтобы вы ничего не получили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...