それで、私はインターネット(RSS)から取得するXMLファイルの解析に取り組んできました。
私はここにあるIBMのパーサーに従って作業してきました。
残念ながら、次のようなリンクを解析しようとすると、次のようになります。
http://www.website.net/index.php?option=com_adsmanager&page=display&catid=87&tid=208196
しかし、私のパーサーはリンクをhttp://www.website.net/index.php?option=としてのみ表示し、残りのリンクは切断されています。
これを修正する方法について何か考えはありますか?
編集1:
SaxParserはまったく機能しません。それは(誤って)文書がうまく形成されていないと主張していますが、それがチェックされ、二重にチェックされたので、私はそれが真実ではないことを知っています。
編集2:
にNodeList
は複数の子があり、すべてのアンパサンド(&)が新しいノードを作成しました。
そのため、私が持っていたコード:
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);
}
これは、DOMXMLフィードパーサーでこれを行う方法でした。今私がしなければならないのは、IBMの例とは異なるパーサー内でこれを行う方法を見つけることだけです。