gpt4 book ai didi

java - SAX 解析器的 endElement() 中不显示的字符

转载 作者:行者123 更新时间:2023-12-01 15:48:20 25 4
gpt4 key购买 nike

我已收到来自服务器的 xml 响应,格式如下。(响应已编辑)

1.你好2. 世界

Hello 和 World 在消息标记中出现在单独的行中。我能够在字符()中显示Hello World。但在 endElement() 中未能得到相同的结果。

如何在 SAX 解析器的 endElement() 中获取同一标记内多行内容。

最佳答案

不,这是正确的。 characters() 是您应该获取 Hello 和 World 的地方,而不是 endElement()。结束元素表示标签的结束,字符获取标签之间的所有内容。

如果您想在 endElements() 中使用 1.Hello 2.World 执行某些操作,那么为什么不在顶部创建一个变量呢?例如。

private String message = null;

@Override
public void endElement(String uri, String localName,
String qName)
throws SAXException {

System.out.println(message); //or whatever you want to do with message

}

@Override
public void characters(char ch[], int start, int length)
throws SAXException {
if(isMessage){ //isMessage is set when you run startElement and it runs into the <message> block.
message = new String(ch, start, length);
isMessage = false;
}
}

关于java - SAX 解析器的 endElement() 中不显示的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6670146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com