2011-09-10 39 views
1

我使用W3C DOM遍历XML文档,我需要基于一些业务逻辑一些代码进行封装的org.w3c.dom.Element中的文本内容的字符串。如何在Java中使用XML标签打包XML文本内容?

例如,我想转

<title id="1">Java is a cool programming language</title> 

<title id="1">Java is a <blah id="2">cool</blah> programming language</title> 

我不坚持使用W3C DOM库我的应用程序,因此任何建议,其他库方面欢迎那可以做到这一点。

回答

1

解析器将解析XML文档中的所有文本。

但是,CDATA部分内的文本将被解析器忽略。

试试这个

<title id="1">Java is a <![CDATA[<blah id="2">cool</blah> ]]>programming language</title> 
+1

我想不诉诸为了解决这个问题,使用的字符数据。 – Hamed

+0

虽然CDATA是实现这一目标的有效方式,我总是教训,避免它。可能真的是一种编码习惯;我没有意识到有任何证据或论据反对使用它。 – Wivani

0

通常你会使用&lt;&gt;(或其他),您的节点值来构建这样的标签。这些被称为“实体参考”。有关它们的一些信息,请参阅here; Google/Bing/YourFavouriteSearchEngine了解更多详情。

在你的榜样,这将意味着你会使用:

<title id="1">Java is a &lt;blah id="2"&gt;cool&lt;/blah&gt; programming language</title> 

干杯, 维姆

相关问题