如何留住&;引用;当使用JSOUP/JAVA解析时,它位于原始字符串中

如何留住&;引用;当使用JSOUP/JAVA解析时,它位于原始字符串中,java,xml,jsoup,Java,Xml,Jsoup,Jsoup解析器在中运行良好&,,,,,,,,,但它将“转换为”,。我如何避免这种情况 String xml = "<P><SPAN><A>&quot;New&quot;</A></SPAN></P>"; Document doc = Jsoup.parse(xml, "UTF-8", Parser.xmlParser()); System.out.println(doc.toString()); s

Jsoup解析器在
中运行良好&
,但它将
转换为
”,
。我如何避免这种情况

String xml = "<P><SPAN><A>&quot;New&quot;</A></SPAN></P>";
Document doc = Jsoup.parse(xml, "UTF-8", Parser.xmlParser());
System.out.println(doc.toString());
stringxml=“

”新建“

”; Document doc=Jsoup.parse(xml,“UTF-8”,Parser.xmlParser()); System.out.println(doc.toString());
输入:
“新建”

当前输出:
“新建”


预期输出:
“新建”

要获得所需的输出,解决方案将使用正则表达式:

String xml= "<P><SPAN><A>&quot;New&quot;</A></SPAN></P>".replaceAll("&([^;]+?);", "**$1;");

Document doc = Jsoup.parse(xml);

doc.outputSettings().prettyPrint(false).escapeMode(EscapeMode.extended);

System.out.println(doc.outerHtml().replaceAll("\\*\\*([^;]+?);", "&$1;"));
stringxml=“

”新建“

”.replaceAll(&([^;]+?);”,“**$1;”); Document doc=Jsoup.parse(xml); doc.outputSettings().prettyPrint(false).escapeMode(escapeMode.extended); System.out.println(doc.outerHtml().replaceAll(“\\*\\*([^;]+?);”,“&$1;”);

输出:
“新建”

要获得所需的输出,解决方案将使用正则表达式:

String xml= "<P><SPAN><A>&quot;New&quot;</A></SPAN></P>".replaceAll("&([^;]+?);", "**$1;");

Document doc = Jsoup.parse(xml);

doc.outputSettings().prettyPrint(false).escapeMode(EscapeMode.extended);

System.out.println(doc.outerHtml().replaceAll("\\*\\*([^;]+?);", "&$1;"));
stringxml=“

”新建“

”.replaceAll(&([^;]+?);”,“**$1;”); Document doc=Jsoup.parse(xml); doc.outputSettings().prettyPrint(false).escapeMode(escapeMode.extended); System.out.println(doc.outerHtml().replaceAll(“\\*\\*([^;]+?);”,“&$1;”);

输出:
“新建“

请问您为什么需要这个?在那里使用未替换的引号是完全合法的。更大的图景是什么?我相信您试图解决的问题是错误的。@RoToRa,我添加了一些节点,但没有更改给定
xml
字符串中的任何内容,我需要的内容是原样,没有任何修改。您没有更改内容<代码>“New”
“New”
(例如,
&";New&";
)都是相同的内容。是的,但在某些地方,我在相同的给定字符串中有
以及
,因此我需要相同的字符串,我以后必须对其执行一些操作。为什么有
在同一个字符串中,是否要区分它们?从HTML视图来看,它们是相同的东西,因此您不能期望HTML解析器区分它们。看起来您在某种程度上误用了HTML实体。也许你应该有
转义为
&;引用?请问您为什么需要这个?在那里使用未替换的引号是完全合法的。更大的图景是什么?我相信您试图解决的问题是错误的。@RoToRa,我添加了一些节点,但没有更改给定
xml
字符串中的任何内容,我需要的内容是原样,没有任何修改。您没有更改内容<代码>“New”
“New”
(例如,
&";New&";
)都是相同的内容。是的,但在某些地方,我在相同的给定字符串中有
以及
,因此我需要相同的字符串,我以后必须对其执行一些操作。为什么有
在同一个字符串中,是否要区分它们?从HTML视图来看,它们是相同的东西,因此您不能期望HTML解析器区分它们。看起来您在某种程度上误用了HTML实体。也许你应该有
转义为
&;引用?如果原始HTML包含
***
,则此操作将中断。没错,但考虑到这一点,您可以在必要时输入
***
或XXX或其他字符序列。如果HTML的内容中包含
***
,则此操作将失败。我们没有任何内置的方法从
JSOUP
获取内容。如果原始HTML包含
***
,这将中断。没错,但是考虑到这一点,如果需要,您可以输入
***
或XXX或其他字符序列。是的,如果HTML在内容中包含
***
,则会失败。我们没有任何内置方法从
JSOUP