我目前正在与JDOM合作。我想不出一个本质上应该是一个简单问题的解决方案。
我有一个有效的XHTML字符串:
<b>M&A</b> €
如何将其插入XML DOM中,如下所示?
<parentNode>
<b>M&A</b>
€
</parentNode>
(此XML然后转到XSL转换器,然后为浏览器呈现XHTML)
我已经提出了以下“伪”解决方案,但我不确定它们是否可行:
不是XML实体的Unescape实体,然后插入。
只重新启动XML entites,然后HTML转换整个字符串,然后插入。
塔拉斯
答案 0 :(得分:2)
我猜您可以使用JTidy将命名实体转换为编号实体。之后,XHTML也是有效的XML。
答案 1 :(得分:0)
而欧元;是有效的XHTML实体,它不是有效的XML。
不幸的是,我对JDOM一无所知,但如果有可能,你可以尝试添加像<!ENTITY euro "€">
这样的DTD entity declarations。并且,也许,将所有XHTML标记放入其正确的命名空间(<parentNode xmlns:x="http://www.w3.org/1999/xhtml"><x:b>...</x:b></parentNode>
)
答案 2 :(得分:0)
创建一个包含
的字符串<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
+
您的XHTML内容,在本例中为<b>M&A</b> €
+
</html>
然后解析此字符串以获取文档。然后获取根元素内的所有内容,这将是您的XHTML内容并将其放在parentNode元素中。您可能需要考虑内容来自不同的文档。