Это правильный синтаксис XML - PullRequest
0 голосов
/ 02 февраля 2010

Мне было интересно, был ли это правильный синтаксис XML, потому что мне нужно удалить узел в этом документе, используя VBscript, и я действительно не могу это сделать.

<?xml version="1.0" encoding="utf-8"?>
<dbm>
  <servers>
    <server name="PCTEST">
      <references>
        <database name="TES1" path="\C$\Build"/>
      </references>
    </server>
  </servers>
</dbm>

Ответы [ 4 ]

2 голосов
/ 02 февраля 2010

Попробуйте это:

Set xmldoc = CreateObject("Microsoft.XMLDOM")
xmldoc.async = false
xmldoc.loadXml _
  "<?xml version='1.0' encoding='utf-8'?>" & _
  "<dbm>" & _
  "  <servers>" & _
  "    <server name='PCTEST'>" & _
  "      <references>" & _
  "        <database name='TES1' path='\C$\Build'/>" & _
  "      </references>" & _
  "    </server>" & _
  "  </servers>" & _
  "</dbm>"

''// Removing a single node
Set nodeToBeRemoved = xmldoc.selectSingleNode("//database[@name='TES1']")
If Not nodeToBeRemoved Is Nothing Then
   nodeToBeRemoved.parentNode.RemoveChild nodeToBeRemoved
End if

''// Removing multiple nodes
Set nodesToBeRemoved = xmldoc.selectNodes("//database")
For Each nodeToBeRemoved In nodesToBeRemoved
    nodeToBeRemoved.parentNode.RemoveChild nodeToBeRemoved
Next

''// alert xmldoc.xml
1 голос
/ 02 февраля 2010

Это может быть.

Без схемы (например, xsd или dtd ) невозможно знать наверняка.

Некоторые парсеры / манипуляторы проверяют соответствие схеме, а иногда они настроены на использование внешней схемы, что означает, что ваша программа может (раньше, чем вы думаете) загрузить некоторые схемы и не выполнить ваши запросы на удаление или манипулировать документом так, как этого не позволяет схема.

Если вы не используете схему или (что еще хуже) используете специальный анализатор, который вы или кто-то из вашей компании написал), то я подозреваю, что в вашем анализаторе есть ошибка.

0 голосов
/ 02 февраля 2010

Выглядит хорошо, но если вам нужен удобный (бесплатный) инструмент для проверки и работы с XML, Блокнот Microsoft XML очень полезен.

Одна вещь, которую вы можете проверить, это то, что кодировка вашего файла соответствует UTF-8: http://www.w3schools.com/XML/xml_encoding.asp.

0 голосов
/ 02 февраля 2010

Хотя я не смог найти XML-документ из списка, Прямой ввод с обнаружением автоматически легко проверяет XML.

Редактировать: http://validator.w3.org/

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