есть код который формирует xml документ
Скрытый текст |
---|
Код |
---|
Sub main()
Dim xml As MSXML2.DOMDocument60
Dim sb$
Dim xNode As IXMLDOMElement
Dim xRoot As IXMLDOMElement
Set xml = New MSXML2.DOMDocument60
sb = Chr(62) & vbNewLine & Chr(60)
xml.appendChild xml.createProcessingInstruction("xml", "version='1.0' encoding='utf-8'")
Set xRoot = xml.createElement("Document")
xRoot.setAttribute "xmlns:xsi", "http://blabla/2001/blablabla"
xRoot.setAttribute "xmlns:dtr", "http://blabla.ru/blabla/blabla"
Set xNode = xml.createElement("Rows")
xNode.appendChild xml.createElement("row")
xNode.appendChild xml.createElement("row")
xNode.appendChild xml.createElement("row")
xRoot.appendChild xNode
xml.appendChild xRoot
xml.LoadXML Replace(xml.xml, "><", sb)
MsgBox xml.xml
End Sub |
|
в итоге получается следующий вариант xml
Скрытый текст |
---|
Код |
---|
<?xml version="1.0"?>
<Document xmlns:xsi="http://blabla/2001/blablabla" xmlns:dtr="http://blabla.ru/blabla/blabla">
<Rows>
<row/>
<row/>
<row/>
</Rows>
</Document> |
|
что нужно поменять или добавить в скрипте, что бы в итоге получилось
Скрытый текст |
---|
Код |
---|
<?xml version="1.0"?>
<dtr:Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dtr="http://blabla.ru/blabla/blabla">
<dtr:Rows>
<dtr:row/>
<dtr:row/>
<dtr:row/>
</dtr:Rows>
</dtr:Document> |
|
Как видно, второй вариант xml документа отличается от первого тем что перед каждым значением тега стоит "dtr:"
PS:
Вариант добаления путем сцепления сейчас использую
Скрытый текст |
---|
Код |
---|
Sub main()
Dim xml As MSXML2.DOMDocument60
Dim sb$
Dim xNode As IXMLDOMElement
Dim xRoot As IXMLDOMElement
Set xml = New MSXML2.DOMDocument60
sb = Chr(62) & vbNewLine & Chr(60)
xml.appendChild xml.createProcessingInstruction("xml", "version='1.0' encoding='utf-8'")
Set xRoot = xml.createElement(getNS & "Document")
xRoot.setAttribute "xmlns:xsi", "http://blabla/2001/blablabla"
xRoot.setAttribute "xmlns:dtr", "http://blabla.ru/blabla/blabla"
Set xNode = xml.createElement(getNS & "Rows")
xNode.appendChild xml.createElement(getNS & "row")
xNode.appendChild xml.createElement(getNS & "row")
xNode.appendChild xml.createElement(getNS & "row")
xRoot.appendChild xNode
xml.appendChild xRoot
xml.LoadXML Replace(xml.xml, "><", sb)
MsgBox xml.xml
End Sub
Function getNS()
getNS = "dtr:"
End Function |
|
Интересует есть ли какие-то штатные методы у MSXML2.DOMDocument60 , а не этот костыль

Заранее спасибо!!!
Как выяснилось нет, тему можно закрывать.