public static NodeList getValue(String xml)
{
Log.v("tag",xml);
xml = "<Student>" + xml + "</Student>";
Log.v("tag12",xml);
NodeList nodes_i = null;
try
{
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
InputSource is = new InputSource();
is.setCharacterStream( new StringReader( xml ) );
Document doc = db.parse( is );// 符号“&”解析会出错,xml中不能包含此符号
nodes_i = doc.getElementsByTagName("Student");
}
catch ( Exception e )
{
e.printStackTrace();
}
return nodes_i;
}
//没有子节点的情况
protected static String getNodeValue( NodeList nodes, String key )
{
Element element = (Element) nodes.item( 0 );
NodeList item = element.getElementsByTagName( key ); //节点的Key
Element line = (Element) item.item( 0 );
String value = getCharacterDataFromElement( line );
return value;
/*Element element=(Element) nodes.item( 0 );
Log.v("tag10",element.getElementsByTagName(key).item(0).getFirstChild().getNodeValue());
return element.getElementsByTagName(key).item(0).getFirstChild().getNodeValue();
*/
}
protected static String getNodeValue( Element element, String key )
{
NodeList item = element.getElementsByTagName( key );
Element line = (Element) item.item( 0 );
String value = getCharacterDataFromElement( line );
return value;
}
//有子节点的情况
protected static NodeList getNodeList( NodeList nodes, String key )
{
Element element = (Element) nodes.item( 0 );
NodeList item = element.getElementsByTagName( key );
return item;
}
protected static NodeList getNodeList( Element element, String key )
{
NodeList item = element.getElementsByTagName( key );
return item;
}
//获取当前节点的节点信息
public static String getCharacterDataFromElement( Element e )
{
try
{
Node child = e.getFirstChild();
if ( child instanceof CharacterData )
{
CharacterData cd = (CharacterData) child;
return cd.getData();
}
}
catch ( NullPointerException ee )
{
return "";
}
return "";
}
Java-DOM解析
最新推荐文章于 2024-07-08 14:39:12 发布