Java sax:解析混合内容文本时遇到问题

Java sax:解析混合内容文本时遇到问题,java,xml,sax,Java,Xml,Sax,我在处理xml文件的一部分时遇到问题。我正在用sax和java解析它。 我无法获取文本的所有部分(文本的开头、中间和结尾) 文首 正文中间 文末 SAX通常令人惊讶,直到您知道从经验中可以得到什么 您可能想暂时将一些控制台日志记录放在事件处理程序中,甚至只是将它们全部中断,然后设置一个小测试来查看您得到了什么。我更喜欢在这样的情况下登录,因为它让我了解了我所能期望的“大局” FWIW,Stax的性能更简单,也更相似。每个人在实现ContentHandlercharacters方法时都会出错,因

我在处理xml文件的一部分时遇到问题。我正在用sax和java解析它。
我无法获取文本的所有部分(文本的开头、中间和结尾)


文首
正文中间
文末

SAX通常令人惊讶,直到您知道从经验中可以得到什么

您可能想暂时将一些控制台日志记录放在事件处理程序中,甚至只是将它们全部中断,然后设置一个小测试来查看您得到了什么。我更喜欢在这样的情况下登录,因为它让我了解了我所能期望的“大局”


FWIW,Stax的性能更简单,也更相似。

每个人在实现ContentHandler
characters
方法时都会出错,因为它完全不直观。诀窍在于,对于单个元素文本节点,可以多次调用characters方法,您必须在缓冲区中累积传入的片段。对于混合内容,您必须从startElement和endElement的缓冲区中获取文本


如果这还不能回答您的问题,请向我们展示一些代码。

欢迎使用SO。为了让我们帮助您,您必须提供不起作用的代码,否则我们只是猜测。请查看或编写一个带有控制台日志事件处理程序的独立实用程序。你可能会再次使用它。另外,不要认为当有一个嵌入的标记时,你只会收到多个调用-你偶尔也会收到多个调用,似乎没有任何原因-我猜它们发生在输入缓冲区边界上。
<sometag type="aType">  
     beginning of the text          
     <anothertag type="anotherType" target="aTarget">middle of the text</anothertag>
     end of the text
</sometag>