源码如下:
public class XmlResolver
{
//****** 全局静态函数 ******
private static DocumentBuilder builder = null;
//-------------------------------------------------------------------------------
public static void Initialize()
{
try{
builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
}catch (ParserConfigurationException e) {e.printStackTrace();Log.d("Fox", "ParserConfigurationException");}
}
//-------------------------------------------------------------------------------
//****** 实例化的定义 ******
private Document doc = null;
//-------------------------------------------------------------------------------
public XmlResolver(String XmlStr)
{//构造函数,读入XML文档
try{//将XML字符串推入doc
doc = builder.parse(new InputSource(new StringReader(XmlStr)));
}catch (Exception e) {return ;}
}
//-------------------------------------------------------------------------------
public XmlNode getRoot()
{//定位到第一个有效的节点(root)
Node Root = null;
try{
Root = doc.getFirstChild();
while(Root.getNodeType()!=1)
Root = Root.getNextSibling();
}catch (Exception e) {return null;}
return new XmlNode(Root);
}
//-------------------------------------------------------------------------------
}
我在该类的构造方法里传入一个xmlString字符串,然后调用doc.getRoot()报空指针,debug一看doc=null,但是builder和xmlString都拿到了呀?
求各位大神赐教