我从webservice收到一个xml文件,但是它带有换行符和标签之间的空格,我需要删除它们并将xml放在一行中的字符串中。 我已经尝试过使用TXMLDocument,但我只能替换选项卡的空格。
xml的例子:
<CompNfse xmlns="http://www.sistema.com.br/Nfse/arquivos/nfse_3.xsd">'#$D#$A' <Nfse versao="">'#$D#$A' <InfNfse Id=" 00000000000670">'#$D#$A' <Numero>10</Numero>.....
使用TXMLDocument
<CompNfse xmlns="http://www.sistema.com.br/Nfse/arquivos/nfse_3.xsd">'#$D#$A#9'<Nfse versao="">'#$D#$A#9#9'<InfNfse Id=" 00000000000670">'#$D#$A#9#9#9'<Numero>10</Numero>....
我需要怎样
<CompNfse xmlns="http://www.sistema.com.br/Nfse/arquivos/nfse_3.xsd"><Nfse versao=""><InfNfse Id=" 00000000000670"><Numero>10</Numero>....
我试过的代码。
var sTemp : String;
oXml : TXMLDocument;
begin
try
sTemp := '<Nfse versao="">'+#13#10+' <InfNfse Id=" 00000000000670">'+#13#10+' <Numero>10</Numero>'+#13#10+' <CodigoVerificacao>82557.2TE79</CodigoVerificacao></InfNfse></Nfse>';
oXml := TXMLDocument.Create(nil);
oXml.Options := [];
oXml.ParseOptions := [];
oXml.LoadFromXML(sTemp);
sTemp := oXml.XML.Text;
finally
oXml := nil;
end;
end;
答案 0 :(得分:2)
从doNodeAutoIndent
属性中删除TXMLDocument.Options
标记,从poPreserveWhiteSpace
属性中删除TXMLDocument.ParseOptions
标记。