sách gpt4 ai đã đi

Phân tích cú pháp SAX và các ký tự đặc biệt

In lại 作者:行者123 更新时间:2023-12-01 14:05:49 43 4
mua khóa gpt4 Nike

我想使用 SAX 解析器从 xml 文件中解析一些数据。我的xml如下:


Pies & past
Fruits


为了解析这些数据,我扩展了 DefaultHandler。

解析后的输出为:
cat 1 = Pies

cat 2 = &

cat 3 = past

cat 4 = Fruits

为什么会发生这种情况而不是得到:
cat 1 = Pies & past

cat 2 = Fruits

1 Câu trả lời

我的猜测是您正在处理对 characters 的每个调用作为 con mèo 的完整文本元素。您应该对处理程序进行编码,以便连续调用 characters积累文本,您只能在 endElement 上捕获它事件:

public class CatHandler extends DefaultHandler {
private StringBuilder chars = new StringBuilder();

public void startElement(String uri, String lName, String qName, Attributes a)
{
final String name = qName == null ? lName : qName;
if ("cat".equals(name)) {
chars.setLength(0);
} else . . .
}

public void endElement(String uri, String lName, String qName) {
final String name = qName == null ? lName : qName;
if ("cat".equals(name)) {
String catName = chars.toString();
// do something with cat name
} else . . .
}

public void characters(char[] ch, int start, int length) {
chars.append(ch, start, length);
}

关于java - SAX 解析和特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13336140/

43 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com