안드로이드 개발 질문/답변
(글 수 45,052)
/* 파서 class 입니다*/
public class XMLParserWithDom
{
public List<ROW> parse( String string )
throws Exception
{
List<ROW> _result = new LinkedList<ROW>();
DocumentBuilder _docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document _doc = _docBuilder.parse( string );
NodeList _rowlist = _doc.getDocumentElement().getElementsByTagName( "VALUE" );
for ( int i = 0; i < _rowlist.getLength(); i++ ) {
Node _row = _rowlist.item( i );
ROW _r = new ROW();
if ( _row.getNodeType() == Node.ELEMENT_NODE ) {
NodeList _child = _row.getChildNodes();
for ( int j = 0; j < _child.getLength(); j++ ) {
Node _ele = _child.item( j );
if ( _ele.getNodeType() == Node.ELEMENT_NODE ) {
String _name = _ele.getNodeName();
String _content = _ele.getTextContent();
if ( _name.equalsIgnoreCase( "no" ) ) {
_r.setno( _content );
} else if ( _name.equalsIgnoreCase( "name" ) ) {
_r.setname( _content );
} else if ( _name.equalsIgnoreCase( "kor" ) ) {
_r.setkor( _content );
} else if ( _name.equalsIgnoreCase( "eng" ) ) {
_r.seteng( _content );
} else if ( _name.equalsIgnoreCase( "mat" ) ) {
_r.setmat( _content );
} else {
throw new SAXException( "Unexpacted Element: " + _name );
}
}
}
}
_result.add( _r );
}
return _result;
}
}
경로는
XMLParserWithDom xml = new XMLParserWithDom();
String s = "test.xml";
try {
System.out.print(xml.parse("data/data/com.db.test/test.xml")); //<= 경로 이렇게 지정해주는데 url 문제있는것같아서요.
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
그냥 java에서는 프로젝트 파일안에 test.xml이 있으면 파일이름만 test.xml만 써주면 읽어서 파싱하는데
안드로이드에서는 안되내요.;
안드로이드 에서 xml 파일 을 data/data/com.db.test(지금프로그램패키지)/ 에 test.xml로 만들기는 성공했는데
data/data/com.db.test/test.xml 을 읽어올수가 없내요. 방법좀가르쳐주세요 ㅠㅠ
2011.06.10 14:10:35
파일은 생성되었습니다^^ 글런데 로그에
06-10 14:08:34.974: WARN/System.err(27621): java.net.MalformedURLException: Protocol not found: test.xml
06-10 14:08:34.974: WARN/System.err(27621): at java.net.URL.<init>(URL.java:275)
06-10 14:08:34.974: WARN/System.err(27621): at java.net.URL.<init>(URL.java:159)
06-10 14:08:34.974: WARN/System.err(27621): at org.apache.harmony.xml.parsers.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:120)
06-10 14:08:34.974: WARN/System.err(27621): at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:158)
06-10 14:08:34.974: WARN/System.err(27621): at com.db.test.client$XMLParserWithDom.parse(client.java:269)
이러식으로 오류가 쭉뜨는데 URL 쪽문제 같아서...




일단 test.xml이 존재하는지 확인하고, 파일로 오픈해서 파싱해보세요.