public static void parseit(String thexml){
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser;
try {
saxParser = factory.newSAXParser();
DefaultHandler handler = new DefaultHandler() {
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
}
public void endElement(String uri, String localName, String qName)throws SAXException {
}
public void characters(char ch[], int start, int length) throws SAXException {
}
};
saxParser.parse(thexml, handler);
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
Log.e("e", "e", e);
e.printStackTrace();
}catch (ParserConfigurationException e) {
e.printStackTrace();
}
}
这是我的代码。 (非常感谢这些家伙:Can someone help me with this JAVA SAXParser?)
问题是,我总是进入IOException e。消息是这样的:
java.io.IOException: Couldn't open....and then my XML file.
我的 XML 文件是这样的,它是一个 String:
<?xml version="1.0" encoding="UTF-8"?>
<result>
<person>
<first_name>Mike</first_name>
</person>
</result>
为什么它不能读取我的 XML 字符串?
最佳答案
您调用的 parse
方法需要读取 XML 文件的 URI。
您可能想要做的是创建一个 InputSource
来自StringReader
像这样:
InputSource source = new InputSource(new StringReader(thexml));
saxParser.parse(source, handler);
关于java - 为什么我不能在 SAXParser 中打开这个 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2250704/