如何将XHTML插入XML

时间:2009-06-11 18:11:30

标签: xml xhtml jdom

我目前正在与JDOM合作。我想不出一个本质上应该是一个简单问题的解决方案。

我有一个有效的XHTML字符串:

<b>M&amp;A</b> &euro;

如何将其插入XML DOM中,如下所示?

<parentNode>
<b>M&amp;A</b>

</parentNode>

(此XML然后转到XSL转换器,然后为浏览器呈现XHTML)

我已经提出了以下“伪”解决方案,但我不确定它们是否可行:

不是XML实体的Unescape实体,然后插入。
只重新启动XML entites,然后HTML转换整个字符串,然后插入。

塔拉斯

3 个答案:

答案 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&amp;A</b> &euro;

+

</html>

然后解析此字符串以获取文档。然后获取根元素内的所有内容,这将是您的XHTML内容并将其放在parentNode元素中。您可能需要考虑内容来自不同的文档。