我正在使用JDOM。我想不出一個解決方案,它本質上應該是一個簡單的問題。如何將XHTML插入到XML中
我有一個有效的XHTML字符串:
<b>M&A</b> €
如何插入XML DOM如下呢?
<parentNode>
<b>M&A</b>
€
</parentNode>
(這個XML然後熄滅一個XSL轉換,然後呈現XHTML的瀏覽器)
我來了用以下「僞」解決方案,但我不確定它們是否可能:
不是XML實體的Unescape實體,然後插入。
Reinscape只有XML entites,然後HTML unescape整個字符串,然後插入。
塔拉斯
這就是我最終做的: *解析輸入XHTML片段作爲HTML到使用JTidy 一個DOM *使用XPath(/ HTML /體/節點())提取物體的所有子節點 *插入提取節點到目標XML DOM 唯一需要注意的是'是一個有效的XHTML實體,但不是有效的HTML實體。這意味着第一步不會將序列看作是:'作爲撇號,而是作爲6個單獨的字符。我通過用數字引用替換'的所有實例來解決這個問題(一個黑客的位,但它的工作原理) – Taras 2009-06-14 12:16:12
我確信有一種方法可以告訴JTidy將所有命名實體引用替換爲已編號的實體引用。在命令行上這是「-n」。還有一個開關使它產生有效的XML。我認爲Java庫可以做同樣的事情。 – Tomalak 2009-06-14 12:27:02