gpt4 book ai didi

"&"标记后无法读取使用 SAX 的 Android XML 解析

转载 作者:行者123 更新时间:2023-11-30 04:34:59 24 4
gpt4 key购买 nike

在我的 android 应用程序中,我读取 xml 文件并将这些数据存储在 SQLite 数据库中。当我读取包含“&”标记的记录时,它不会读取整个文本。

例如,当我读取以下标签中的值时,它只读取了 49°38。另一部分是损失。

<latitude> 49°38&#039;59&#039;&#039;N </latitude>

在下面的实例中,只取“John Levis”部分,“&”后的字符丢失。

<name> John Levis & sons</name>

有没有人知道读取整个值???

这就是我从扩展 DefaultHandler 的 XML 处理程序类中获取值的方式。[这个值在 endElement 方法中获取]

@Override
public void characters(char[] ch, int start, int length)throws SAXException
{
super.characters(ch, start, length);

if(currentElement)
{
currentValue = new String(ch, start, length);
currentElement = false;
}
}

最佳答案

SAX 中的 characters() 回调允许将文本节点拆分成任意数量的小块。您应该累积它们并在您到达文本末尾时处理它们(通常是 endElement 事件,混合内容中可能是 startElement 事件)。许多解析器在遇到实体引用时拆分文本,但允许它们在任何地方拆分。

关于 "&"标记后无法读取使用 SAX 的 Android XML 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7013901/

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