Можете ли вы сохранить пробелы в пустых элементах с минимальным синтаксисом тегов? - PullRequest
0 голосов
/ 13 мая 2011

XML выглядит следующим образом (то есть с пробелом после 'ComputerName')

<XML><Data><ComputerName /><UserName>Me</UserName></Data></XML>

код, подобный этому

Set l_objDom = New MSXML2.DOMDocument
l_objDom.preserveWhiteSpace = True
Call l_objDom.loadXML("<XML><Data><ComputerName /><UserName>Me</UserName></Data></XML>")
Set l_objNode = l_objDom.SelectSingleNode("XML/Data")
Debug.Print l_objNode.XML

возвращает

<Data><ComputerName/><UserName>Me</UserName></Data>

как сохранить пространство?
, потому что мы выполняем контрольную сумму (CRC32) над xml тега <Data>, который теперь не соответствует.

свойство preserveWhiteSpace , похоже, игнорируется или не работает ...

1 Ответ

0 голосов
/ 13 мая 2011

Это не правильно.
то есть узлы XML не могут содержать пробелов в нем

XML элементы должны следовать этим именам правила:

Names can contain letters, numbers, and other characters
Names cannot start with a number or punctuation character
Names cannot start with the letters xml (or XML, or Xml, etc)
Names cannot contain spaces

ref: http://www.w3schools.com/Xml/xml_elements.asp

...