【发布时间】:2013-12-05 02:58:57
【问题描述】:
我正在尝试解析来自 http 请求的响应。这是我从那个响应中得到的字符串:
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://my-web-address.com/webservices/"><NewDataSet>
<Case>
<ID>260023277</ID>
<CaseNumber>8931-04-03</CaseNumber>
</Case>
.
.
.
</NewDataSet></string>
所有元素(用点表示)都是有效的。
以下是我使用 sax 解析此 xml 的方式:
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
InputSource inputSource = new InputSource( new StringReader( responce ) ); // responce is my String containing XML.
CasesParser myXMLHandler = new CasesParser();
xr.setContentHandler(myXMLHandler);
xr.parse(inputSource);
CaseParser 类扩展DefaultHandler 并以常规方式实现所有功能。
所以确切的错误是解析器没有检测到“字符串”元素以外的任何东西。它在CaseParser 的startElement() 方法中检测到它,然后也在endElement() 方法中检测到它。解析器在两者之间没有找到其他元素。
在检索“字符串”的值时,我只得到 '<' 字符。没有其他的。
可能是什么问题?
【问题讨论】:
标签: android xml xml-parsing sax saxparser