【发布时间】:2016-09-24 03:38:30
【问题描述】:
我需要在其他 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编码,但我在那个字段有大小限制,不想增加大小
【问题讨论】:
-
您打算包含在 CDATA 中的 XML 是否也有 CDATA 节点?
-
不,没有
-
如果你不能发布整个 xml 包含,你能发布解析器吐出的具体错误吗?
-
感谢您的关注。包括一个真实的例子(减少)
-
你的例子是完全有效的。也许您的编辑器使用了错误的字符编码?
标签: java xml xml-serialization