こんにちは私はFTPサーバーからXMLファイルを読み込み、それを解析しようとしています。XMLにAndroid FTPの入力ストリーム
私の文字列をinputsourceとして使用することはできません。 LogCatでファイルを読むことができ、ブラウザでXMlファイルを開くことができます。しかし、インプットソースとしてどのように文字列を使用するかはわかりません。
CODE:
public void readXML(){
try {
Log.e("FTP", "Starting ftp session");
FTPClient ftp = new FTPClient();
Log.e("FTP", "Connecting to FTP");
ftp.connect("ftp.domain.com");
Log.e("FTP", "Providing credentials to FTP");
ftp.login("user", "pswd");
if(ftp.login("user", "pswd")){
Log.e("FTP", "Was able to connect to FTP");
}
ftp.enterLocalPassiveMode();
ftp.changeWorkingDirectory("/folder/XML");
Log.e("FTP", "Getting stream");
InputStream inStream = ftp.retrieveFileStream("file.xml");
InputStreamReader isr = new InputStreamReader(inStream, "UTF8");
BufferedReader reader = new BufferedReader(isr);
String Input = "";
Log.e("FTP", "Reading filestream");
do{
Input = Input + reader.readLine() + "\n";
Log.e("FTP", reader.readLine());
}while(reader.readLine()!=null);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Log.e("FTP", "Parsing inputsource");
Document doc = db.parse(new InputSource(new StringReader(Input)));
doc.getDocumentElement().normalize();
Log.e("FTP", "Creating nodelist");
NodeList nodeList = doc.getElementsByTagName("TAG");
イムが不明にStringReaderは行くための正しい方法である場合。
EDIT:
public void readXML(){
try {
Log.e("FTP", "Starting ftp session");
FTPClient ftp = new FTPClient();
Log.e("FTP", "Connecting to FTP");
ftp.connect("ftp.domain.com");
Log.e("FTP", "Providing credentials to FTP");
ftp.login("user", "pswd");
if(ftp.login("user", "pswd")){
Log.e("FTP", "Was able to connect to FTP");
}
ftp.enterLocalPassiveMode();
ftp.changeWorkingDirectory("/folder/XML");
Log.e("FTP", "Getting stream");
InputStream inStream = ftp.retrieveFileStream("file.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Log.e("FTP", "Parsing inputsource");
Document doc = db.parse(new InputSource(inStream));
doc.getDocumentElement().normalize();
Log.e("FTP", "Creating nodelist");
NodeList nodeList = doc.getElementsByTagName("TAG");
あなたは、任意のエラーを取得していますか?もしそうなら、投稿してください。 'StringReader'から' InputSource'を作成することは完全に有効です。 – Rajesh