我有一个XML,它在其中一个元素中包含嵌套的序列化XML。有效负载也是有效的XML。此外,有效载荷可以包含更多级别的嵌套......
我正在研究如何:
像XSD这样的XML Schema标准是否支持这种嵌套XML?我们可以使用任何XML搜索路径工具(如XPath)来正确搜索嵌套字段吗?
<?xml version="1.0" encoding="UTF-8"?>
<event>
<header>
<field1>Value</field1>
<field2>Value</field2>
</header>
<body>
<payload><?xmlversion="1.0"encoding="UTF-8"?><event><header><field1>Value</field1><field2>Value</field2></header><body><payload></payload></body></event>
</payload>
</body>
</event>
答案 0 :(得分:0)
您的有效负载只是一个文本字符串,甚至只会被解释为文本。如果要在有效负载上使用xsd / xpath或xsl,首先需要确保将其序列化为xml。 还要注意,任何PI(你的&lt;?xml ...&gt;)在埋藏在有效负载内时都会产生无效的xml,因此你需要摆脱它。
答案 1 :(得分:0)
我正在研究如何:
- 正确定义此XML的架构,以便嵌套字段 也定义了。
醇>
您已经通过在payload
元素中传输转义的XML而不是实际的XML来丢失游戏。
修复此错误设计并使用payload
中的实际XML,以便利用XSD进行验证。
如果您无法修复设计,请在初步过程中将序列化的XML重构为实际的XML。然后将其视为可以编写XSD的真实XML,可以根据需要使用xsd:any
。
- 根据定义,可以查询任何字段。
醇>
再次,修复您的设计或重新分析到实际的XML。然后你可以使用XPath。