当前位置:  开发笔记 > 编程语言 > 正文

解析在元素中包含XML的XML,可以这样做

如何解决《解析在元素中包含XML的XML,可以这样做》经验,为你挑选了2个好方法。

我有一个XML的"复杂项目",然后是一个包含许多其他信息的"workitem"(在xml中),我希望这包含一个包含xml中复杂项的字符串.

例如:


但是,尝试SAX和其他java解析器我无法让它处理这一行,它不喜欢字符串中的<或","我试图转义,并将"转换为".

反正有这个吗?或者我必须提出另一种解决方案吗?

谢谢



1> Mike Houston..:

可能最简单的解决方案是使用CDATA部分.您可以将示例转换为如下所示:


  
  ]]>

如果要为多个字符串存储多个属性,则可以使用具有不同名称的多个子元素:


  
    
    ]]>
  
  
    
    ]]>
  

或者具有标识ID的多个值元素:


  
    
    ]]>
  
  
    
    ]]>
  



2> Martin..:

我想你会发现你正在处理的XML不会解析很多解析器,因为它是无效的.如果您可以控制XML,那么您至少需要转义属性,因此它类似于:


然后,一旦提取了属性,就可以重新解析它以将其视为XML.

或者,您可以采用上述方法之一(使用CDATA部分)对XML进行一些重新分解.

如果您无法控制XML,可以尝试使用TagSoup库来解析它以了解您的工作方式.(免责声明:我只使用TagSoup for HTML,我不知道它是如何与非HTML内容一起使用的)

(标签汤网站实际上出现在ATM上,但你应该能够在网上找到足够的doco,并通过maven存储库下载)

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有