我正在尝试使用DOMParser解析带有HTML字符串的XML文件。问题是getTextContent()方法只获取文本,而不获取其中的任何HTML标记。我希望字符串按原样返回,而不是按解析后的版本返回。我搜索了整个网络,却找不到任何对我有帮助的东西。顺便说一句,我无法对HTML字符串进行任何更改,因为在大约500个文件中有超过100k个Sting。
测验xml文件
<?xml version="1.0" encoding="iso-8859-1"?>
<UserDetails xml:lang="en">
<UserMessage ID="TestID">Text goes here. <span style="color:#DF0000"><b>Bold Text goes here.</b> </span>More Text.</UserMessage>
</UserDetails>
Java模块
import com.sun.org.apache.xerces.internal.parsers.DOMParser;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
public class TestAll
{
public static void main(String[] args)
{
try
{
File file = new File("C:/Users/Administrator/Desktop/Test.xml");
DOMParser fileParser = new DOMParser();
InputStream in = new FileInputStream(file);
InputSource source = new InputSource(in);
fileParser.parse(source);
in.close();
Document newFileDoc = fileParser.getDocument();
NodeList nodes = newFileDoc.getChildNodes();
for (int i = 0; i < nodes.getLength(); i++)
{
Node node = nodes.item(i);
NodeList userMessages = node.getChildNodes();
for (int j = 0; j < userMessages.getLength(); j++)
{
Node userMessage = userMessages.item(j);
if (userMessage.getNodeType() == Node.ELEMENT_NODE)
{
String text = userMessage.getTextContent();
System.out.println(text);
}
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
实际输出
这里有文字。这里用粗体字。更多文本。
预期产量
Text goes here. <span style="color:#DF0000"><b>Bold Text goes here.</b> </span>More Text.
任何帮助都将不胜感激。
试着把课文放在中间
<xmp> </xmp>
标签之间的所有内容都将按原样显示
问题内容: 我正在尝试在NetBeans 6.0.1中使用OpenCSV解析.csv文件。我的文件包含一些Unicode字符。当我在输出中写入字符时,字符以其他形式显示,例如(HJ1’-E /;)。当我在记事本中打开此文件时,它看起来还可以。 我使用的代码: 问题答案: 首先,您需要知道文件的编码格式,例如UTF-8或UTF-16。生成此文件的原因是什么? 在那之后,它相对简单- 您需要创建一个包
问题内容: 我在使用jQuery 解析HTML字符串时问我如何在html字符串上使用jQuery。一切正常,但是当我将其应用于ajax时-它不起作用。这是代码。 moo.html包含 如何获得斑马纹和杠铃? 问题答案: 我认为其中的换行符可能会让您失望。 html中的所有换行符最终都将由jQuery解析并保留为文本节点元素。结果,当这些节点中的第一个被命中并调用时,它将停止迭代(不适用于非Elem
问题内容: 我搜索了一个解决方案,但没有任何意义,所以这是我的问题: 我想解析一个包含HTML文本的字符串。我想用JavaScript做。 我尝试了这个库,但似乎它解析了当前页面的HTML,而不是字符串。因为当我尝试下面的代码时,它更改了页面的标题: 我的目标是从读取的HTML外部页面中提取链接,就像读取字符串一样。 您知道执行此操作的API吗? 问题答案: 创建一个虚拟DOM元素并将字符串添加到
我寻找一个解决方案,但没有任何相关的,所以这是我的问题: 我想解析一个包含HTML文本的字符串。我想用JavaScript来做。 我尝试了这个库,但它似乎解析我当前页面的HTML,而不是从一个字符串。因为当我尝试下面的代码时,它会更改我页面的标题: 我的目标是从一个HTML外部页面中提取链接,我就像读一个字符串一样。 你知道做这件事的API吗?
我在https://github.com/owlcs/owlapi/tree/master/contract/src/test/java.org/coode/owlapi/example上运行owlapi示例,以检索具有奇数字符的类的子类。我的owl文件包含带有奇数字符的类,如/,(但解析器似乎在奇数字符之前截断它们,并最终抛出一个错误。我查看了ManchesterOWLSyntaxTokeniz
问题内容: 您如何解析存储在Java字符串对象中的xml? Java的XMLReader仅从URI或输入流中解析XML文档。无法从包含xml数据的字符串进行解析? 现在,我有以下内容: 在我的处理程序上,我有这个: 提前致谢 问题答案: 该SAXParser的可以读取的的InputSource。 一个 InputSource的 可以采取 读者 在其构造 因此,您可以通过StringReader来解