У меня есть устаревшее приложение VB 6, которое использует msxml4.dll.
Он использует метод .loadXML MSXML2.DOMDocument для создания из строк xml, а затем использует свойство .xml для вывода строк xml:
Dim doc As MSXML2.DOMDocument
Set doc = CreateObject("MSXML2.DOMDocument.4.0")
Call doc.loadXML("<doc/>")
' ... manipulation of doc ...
Dim xml As String
xml = doc.xml
Я обнаружил проблему со свойством .xml. При использовании приведенного выше кода строка xml имеет в конце новую строку:
Как я могу предотвратить это?
Если это невозможно остановить (т. е. если это ошибка в MSXML или по замыслу), то как я могу удалить ее в VB 6? Trim(xml)
не работает
EDIT Я обновил вопрос, так как это свойство .xml, а не метод .loadXML, который, по-видимому, виноват. Если я выберу документ как элемент:
Dim elm As MSXML2.IXMLDOMElement
Set elm = doc.selectSingleNode("doc")
xml = elm.xml
то свойство .xml действует, как и ожидалось, без добавления символа новой строки, поэтому кажется, что оно относится к свойству DOMDocument.xml.
EDIT 2: Следуя ответу SpectralGhost, вот что я в итоге использовал:
If Right(xml, Len(vbNewLine)) = vbNewLine Then
xml = Left(xml, Len(xml) - Len(vbNewLine))
End If
Я использую vbNewLine, чтобы избежать проблем, связанных с платформой.