setXmlStandalone bug?
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Ondrej
il 7 Apr 2011
Commentato: Isirame Omofuma
il 29 Lug 2019
Hi, I have this problem. If I make this in matlab
---
docNode = com.mathworks.xml.XMLUtils.createDocument('root');
docNode.setXmlStandalone(1);
docNode.setXmlVersion('1.1');
xmlWrite('file.xml',docNode);
----
I don't see any "standalone" atttribute, and the version is still set to '1.0'.
i.e. the 'file.xml' looks like:
but it should look like:
Is it a bug in matlab, or am I doing something wrong? Thanks.
I'm using Matlab 2009b (7.9.0).
1 Commento
Risposta accettata
Michael Katz
il 6 Feb 2012
Our implementation doesn't forward that document property to the serializer. You'll have to do it yourself, like this:
docNode = com.mathworks.xml.XMLUtils.createDocument('AddressBook');
%don't do this docNode.setXmlStandalone(1)
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;
tfactory = TransformerFactory.newInstance;
serializer = tfactory.newTransformer;
src = DOMSource(docNode);
stream = java.io.StringWriter;
dst = StreamResult(stream);
%set the value here instead
serializer.setOutputProperty(OutputKeys.STANDALONE,'yes');
serializer.setOutputProperty(OutputKeys.VERSION,'1.1');
serializer.transform(src,dst);
result = char(stream.toString)
3 Commenti
Isirame Omofuma
il 29 Lug 2019
Hi, I did all this and found a way to write the string result to a domnode.
import java.io.StringReader;
import org.xml.sax.InputSource;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
factory = DocumentBuilderFactory.newInstance();
builder = factory.newDocumentBuilder();
s = StringReader(result);
i = InputSource(s);
doc = builder.parse(i);
xmlwrite('try.xml', doc)
On using xmlwrite to write the result to file the standalone argument still does not appear in the xml file and the version remains as 1.1. Is there a simpler way to write to xml? Is there a simpler way to solve this probelm?
Più risposte (1)
Darlling5147 Sew
il 6 Dic 2013
how if I wanted to save it into .xml file? I tried this method but at the very last step I wanted to write" xmlwrite('AB.xml',result)" this it fail.....how to solve this problem of exporting into .xml format?
Thank you in advance.
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!