My XML is
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<item>
<state>true</state>
<name/>
<location>A</location>
<version>13</version>
<features>None</features>
</item>
Code: Select all
Sub Main
sURL = ConvertToUrl("c:\Temp\test.xml")
XmlChangeValue(sURL, "version", 14) 'works
XmlChangeValue(sURL, "name", "Foo") 'failed
End Sub
Function XmlChangeValue(sURL, sNode, sValue)
oDocBuilder = createUnoService("com.sun.star.xml.dom.DocumentBuilder")
oDom = oDocBuilder.parseURI(sURL)
oDom.normalize()
oXmlNode = oDom.getElementsByTagName(sNode)
nNode = oXmlNode.getLength()
for i = 0 To nNode - 1
oChildNode = oXmlNode.item(i).getChildNodes()
if oChildNode.Length > 0 then
oElem = oChildNode.item(0)
oElem.normalize()
oElem.deleteData(0, Len(oElem.getData() )
oElem.setData(sValue)
else
oElem = oXmlNode.item(0)
oElem.normalize()
'mri oElem
oElem.setNodeValue(sValue)
endif
next i
oSFA = createUNOService ("com.sun.star.ucb.SimpleFileAccess")
'oOutStream = oSFA.openFileWrite(sURL)
oOutStream = oSFA.openFileWrite("c:\Temp\test2.xml") 'keep origin
oDom.setOutputStream(oOutStream)
oDom.start
oOutStream.closeOutput()
End function
Did you have an advice or (better) a fix?
Thanks