java - 如何将 XML 包含在 CDATA 中

标签 java xml xml-serialization

我需要在其他 XML 文档的文本字段中包含完整的 XML 文档

例如

<mytexttag>
   <![CDATA[    
      here the xml document starting with <?xml version="1.0"
   ]]>     
</mytexttag>

我必须使用固定的 XSD,但我无法适应它。

我有read CDATA 仍然是文档的一部分,这意味着这些字符串之间的数据包含可以解释为 XML 标记的数据,但不应该如此。

但我不知道是否可以绕过限制。目前,如果我包含完整的 XML,则会出现解析错误

这可能是一个真实的例子

<?xml version="1.0" encoding="UTF-8"?>
<mytexttag>
    <![CDATA[ <n1:ClientInvoiceExtension xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:n1="http://www.myclient.es/facturae/ClientInvoiceExtension/v1.0" xsi:schemaLocation="http://www.myclient.es/facturae/ClientInvoiceExtension/v1.0/ClientInvoiceExtension_v1_0.xsd"><Version>1.0</Version><LineExtension><InvoiceFamily>ejempló con carañññ</InvoiceFamily><ContractCode>el code</ContractCode><PurchaseRequestCode>String</PurchaseRequestCode><DerivationCode>String</DerivationCode>ContractFileCode>String</ContractFileCode><Patient><IPF>PASAPORTE</IPF><PatientId>String</PatientId><FullName>String</FullName></Patient><Process><Contingency>String</Contingency><Year>0</Year><Province>String</Province><Number>String</Number></Process><MazCenterId>String</MazCenterId><MazCenterProvince>String</MazCenterProvince><Diagnostic>String</Diagnostic><Medical>String</Medical><RecipeNumber>String</RecipeNumber><MazEmployeeFullName>String</MazEmployeeFullName>       <HealthcareDeliveryCode>String</HealthcareDeliveryCode> </LineExtension></n1:MazInvoiceExtension>]]>     
</mytexttag>

当插入像“á ó ñ”这样的特殊字符时,我的 xml 编辑器说它是无效的 xml

我可以考虑使用 base64 进行编码,但我在该字段中有大小限制,并且不想增加大小

最佳答案

问题是您的 XML 包含未以 UTF-8 格式编码的字符...

关于java - 如何将 XML 包含在 CDATA 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37455667/

相关文章:

c# - 向 Xml 添加新对象

java - 提交EditText并在AlertDialog TextView中显示结果

c# - LINQ 和 XDocument : How to create XML file?

.net - .NET 中的 XML HTTP POST 集成

c++ - 检查更新(将远程 XML 文件与本地变量进行比较)

java - JAXB 更改默认命名转换器

c# - 我们如何从XMLSerializer函数传递多个对象

java - 使用 thymeleaf 数据创建隐藏输入

java - 从 java 调用 jython 脚本

java - NoClassDefFoundError com/fasterxml/jackson/core/TreeNode -- json 模式验证