android XML解析器不';t解析完整的链接

android XML解析器不';t解析完整的链接,android,xml-parsing,Android,Xml Parsing,因此,我一直致力于解析一个来自互联网(RSS)的XML文件 我一直在根据IBM的解析器工作 不幸的是,当我尝试解析如下所示的链接时: 但是我的解析器只将链接显示为:,其余的链接被切断 有没有关于如何解决这个问题的想法 编辑1: SaxParser甚至根本不起作用。它声称(错误地)文档格式不正确,但我知道它不是真的,因为它经过检查和双重检查 编辑2: NodeList有多个子节点,每个符号(&)都创建了一个新节点 因此,我的代码是: if (name.equalsIgnoreCase(LINK)

因此,我一直致力于解析一个来自互联网(RSS)的XML文件

我一直在根据IBM的解析器工作

不幸的是,当我尝试解析如下所示的链接时:

但是我的解析器只将链接显示为:,其余的链接被切断

有没有关于如何解决这个问题的想法

编辑1:

SaxParser甚至根本不起作用。它声称(错误地)文档格式不正确,但我知道它不是真的,因为它经过检查和双重检查

编辑2:

NodeList
有多个子节点,每个符号(&)都创建了一个新节点

因此,我的代码是:

if (name.equalsIgnoreCase(LINK)) {
    val = property.getFirstChild().getNodeValue();
    message.setLink(val);
}
if (name.equalsIgnoreCase(LINK)) {
    val = property.getFirstChild().getNodeValue();
    message.setLink(val);
}
不好。因此,我将其固定为以下代码:

if (name.equalsIgnoreCase(LINK)) {
    val = "";
    NodeList list = property.getChildNodes();
    for (int i = 0; i < list.getLength(); i++) {
        val += list.get(i).getNodeValue().toString();
    }
    message.setLink(val);
}
if (name.equalsIgnoreCase(LINK)) {
    val = "";
    NodeList list = property.getChildNodes();
    for (int i = 0; i < list.getLength(); i++) {
        val += list.get(i).getNodeValue().toString();
    }
    message.setLink(val);
}
if(name.equalsIgnoreCase(LINK)){
val=”“;
NodeList list=property.getChildNodes();
对于(int i=0;i
这就是在domxml提要解析器中实现这一点的方法。现在,我所要做的就是找到一种在不同于IBM示例的解析器中实现这一点的方法

<link>http://www.website.net/index.php?option=com_adsmanager&page=display&catid‌​=87&tid=208196</link> 
链接
部分包装在


如果您无法控制RSS文件的创建,则必须在将文档提供给XML解析器之前对其进行预处理。像这样原谅xml解析器可能会有所帮助

链接
部分包装在



如果您无法控制RSS文件的创建,则必须在将文档提供给XML解析器之前对其进行预处理。像这样原谅xml解析器可能会有所帮助。

很好。我解决了这个问题

我的第二次更新是对问题的正确认识。
NodeList
有多个子节点,每个符号(&)都创建了一个新节点

因此,我的代码是:

if (name.equalsIgnoreCase(LINK)) {
    val = property.getFirstChild().getNodeValue();
    message.setLink(val);
}
if (name.equalsIgnoreCase(LINK)) {
    val = property.getFirstChild().getNodeValue();
    message.setLink(val);
}
不好。因此,我将其固定为以下代码:

if (name.equalsIgnoreCase(LINK)) {
    val = "";
    NodeList list = property.getChildNodes();
    for (int i = 0; i < list.getLength(); i++) {
        val += list.get(i).getNodeValue().toString();
    }
    message.setLink(val);
}
if (name.equalsIgnoreCase(LINK)) {
    val = "";
    NodeList list = property.getChildNodes();
    for (int i = 0; i < list.getLength(); i++) {
        val += list.get(i).getNodeValue().toString();
    }
    message.setLink(val);
}
if(name.equalsIgnoreCase(LINK)){
val=”“;
NodeList list=property.getChildNodes();
对于(int i=0;i

这就是在DOM XML提要解析器中实现这一点的方法。我解决了这个问题

我的第二次更新是对问题的正确认识。
NodeList
有多个子节点,每个符号(&)都创建了一个新节点

因此,我的代码是:

if (name.equalsIgnoreCase(LINK)) {
    val = property.getFirstChild().getNodeValue();
    message.setLink(val);
}
if (name.equalsIgnoreCase(LINK)) {
    val = property.getFirstChild().getNodeValue();
    message.setLink(val);
}
不好。因此,我将其固定为以下代码:

if (name.equalsIgnoreCase(LINK)) {
    val = "";
    NodeList list = property.getChildNodes();
    for (int i = 0; i < list.getLength(); i++) {
        val += list.get(i).getNodeValue().toString();
    }
    message.setLink(val);
}
if (name.equalsIgnoreCase(LINK)) {
    val = "";
    NodeList list = property.getChildNodes();
    for (int i = 0; i < list.getLength(); i++) {
        val += list.get(i).getNodeValue().toString();
    }
    message.setLink(val);
}
if(name.equalsIgnoreCase(LINK)){
val=”“;
NodeList list=property.getChildNodes();
对于(int i=0;i

在DOM XML提要解析器中就是这样做的

一些代码将帮助我们帮助您。RSS文件是有效的XML吗?也就是说,url中的符号是否为“
”&或包装在
标记中的
CDATA
中?@BorisStrandjev,代码在指向IBM的链接中,我没有使用任何其他内容@AndersLindahl,RSS是有效的,链接如下:
http://www.website.net/index.php?option=com_adsmanager&page=display&catid=87&tid=208196
一些代码将帮助我们帮助您。RSS文件是有效的xml吗?也就是说,url中的符号是否为“
”&或包装在
标记中的
CDATA
中?@BorisStrandjev,代码在指向IBM的链接中,我没有使用任何其他内容@AndersLindahl,RSS是有效的,链接如下:
http://www.website.net/index.php?option=com_adsmanager&page=display&catid=87&tid=208196