how to save 1x3072 data without output truncated error?

3 visualizaciones (últimos 30 días)
Darlling5147 Sew
Darlling5147 Sew el 7 de Oct. de 2013
Respondida: Ronit el 11 de Jun. de 2025
I am facing problem of extracting a data of 1*3072 into xml file. The last data can be saved is no.2500. Output truncated error occurred ever since there. Can anybody help? Here is my code:
docNode = com.mathworks.xml.XMLUtils.createDocument('LUT'); xmlwrite(docNode) entry_node = docNode.createElement('sigmaLUT');
a= signal(:,1); b= abs(a)';
entry_node.appendChild(docNode.createTextNode(sprintf('%i',b))); docNode.getDocumentElement.appendChild(entry_node); xmlwrite(docNode) xmlwrite('sigmaLUT.xml',docNode);

Respuestas (1)

Ronit
Ronit el 11 de Jun. de 2025
Hello,
You should split the data into multiple smaller XML elements or chunks rather than trying to dump all values into a single TextNode. Refer to the following example to write in chunks:
chunkSize = 500;
docNode = com.mathworks.xml.XMLUtils.createDocument('LUT');
rootNode = docNode.getDocumentElement;
entry_node = docNode.createElement('sigmaLUT');
for i = 1:chunkSize:length(b)
chunk = b(i:min(i+chunkSize-1, end));
chunkNode = docNode.createElement('chunk');
chunkNode.appendChild(docNode.createTextNode(sprintf('%i ', chunk)));
entry_node.appendChild(chunkNode);
end
rootNode.appendChild(entry_node);
xmlwrite('sigmaLUT.xml', docNode);
I hope this helps with your query!

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by