我正在研究一个用德语写成的应用程序。 我正以 XML 格式获取数据。 我用 SAX 采集器来解析这些 XML 并在文本视图中显示数据。 除了在解析后我得到的特殊特性问题之外, 一切都很好。
这是我通过 URL 链接得到的 XML 。 这个 XML 有 utf-8 编码 。 此 XML 文件的所有字符都很好 。
<?xml version="1.0" encoding="utf-8"?>
<posts>
<page id="001">
<title><![CDATA[Sie kaufen bei uns ausschließlich Holzkunst- und Volkskunst-Produkte ]]></title>
<detial><![CDATA[Durch enge Beziehungen mit unseren Lieferanten können wir attraktive rückläufig
Preise und schnelle Lieferungen gewährleisten. Caroline Féry and Laura Herbst Universität Potsdam Mein
Flugzeug hatte zwölf Stunden VERSPÄTUNG </p>]]></detial>
</page>
</posts>
I 使用 SAX 解析此 XML 解析器 : - (并在 TextView
中显示解析数据 。 )
public class GermanParseActivity extends Activity {
/** Called when the activity is first created. */
static final String URL = "http://www.xyz.com/id=1";
ItemList itemList;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
XMLParser parser = new XMLParser();
String XML = parser.getXmlFromUrl(URL);
System.out.println("This XML is ========>"+XML);
try
{
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
/** Create handler to handle XML Tags ( extends DefaultHandler ) */
MyXMLHandler myXMLHandler = new MyXMLHandler();
xr.setContentHandler(myXMLHandler);
ByteArrayInputStream is = new ByteArrayInputStream(XML.getBytes());
xr.parse(new InputSource(is));
}
catch(Exception e)
{
}
itemList = MyXMLHandler.itemList;
ArrayList<String> listItem= itemList.getTitle();
ListView lview = (ListView) findViewById(R.id.listview1);
myAdapter adapter = new myAdapter(this, listItem);
lview.setAdapter(adapter);
}
}
但是,在分析后,我正在获取不在 XML 文件中,而是在分析 XML 文件后生成的奇怪字符。
喜欢这些字符 :
在解析后进行解析
können- & gt; knen
rückläufiig- & gt; rö1⁄4klufig
gewährleisten -- -- & gt; gewährleisten
有没有人能建议 解决这个问题的正确方法?