1

如何在 android.xml 中解析这个 xml 数据。

xml-stylesheet 格式与普通 xml 不同?

我需要这些字段;

Kod 纸币购买纸币出售

<?xml version="1.0" encoding="ISO-8859-9"?>
<?xml-stylesheet type="text/xsl" href="isokur.xsl"?>
<Tarih_Date Tarih="20.07.2012" Date="07/20/2012">

<Currency Kod="USD" CurrencyCode="USD">
    <Unit>1</Unit>
    <Isim>AMERİKAN DOLARI</Isim>
    <CurrencyName>US DOLLAR</CurrencyName>
    <ForexBuying>1.7967</ForexBuying>
    <ForexSelling>1.8054</ForexSelling>
    <BanknoteBuying>1.7954</BanknoteBuying>
    <BanknoteSelling>1.8081</BanknoteSelling>
    <CrossRateUSD>1</CrossRateUSD>
    <CrossRateOther></CrossRateOther>
</Currency>

<Currency Kod="EUR" CurrencyCode="EUR">
    <Unit>1</Unit>
    <Isim>EURO</Isim>
    <CurrencyName>EURO</CurrencyName>
    <ForexBuying>2.1998</ForexBuying>
    <ForexSelling>2.2104</ForexSelling>
    <BanknoteBuying>2.1983</BanknoteBuying>
    <BanknoteSelling>2.2137</BanknoteSelling>
    <CrossRateUSD></CrossRateUSD>
    <CrossRateOther>1.2243</CrossRateOther>
</Currency>

4

4 回答 4

1

我不相信它应该是不同的。最后,这也是一个由标签和属性组成的 XML 文件。
如果您需要重新了解解析 XML ,这篇文章可能会让您暖和起来。

于 2012-07-26T08:33:43.797 回答
1

Android 提供了大部分 java 的 api(SAX 和 DOM)来解析 XML 文档。您可以执行以下操作来解析 xml 并获取您需要的字段。

DocumentBuilder docBuild= docBuildFactory.newDocumentBuilder();
InputSource in= new InputSource();
in.setCharacterStream(new StringReader(xml));
Document doc = docBuild.parse(in); 
NodeList nodes = doc.getElementsByTagName("Currency");
Element e = (Element)nodes.item(i);
XMLfunctions.getValue(e, "BanknoteBuying")

这必须解决你的问题.... :)

于 2012-07-26T08:48:38.403 回答
0

您可以放心地忽略xml-stylesheet处理指令并像解析任何其他 XML 一样解析 XML。xml-stylesheet是一种向表示代理(例如浏览器)提示一种转换的方法,该转换将按照预期呈现的方式呈现 XML。仍然由代理决定是否使用样式表。

在这种情况下,代理是您的应用程序。

于 2012-07-26T08:44:16.110 回答
0

如果您确实希望将 isokur.xsl XSLT 样式表应用于您的 XML,那么我认为您可能不走运。据我所知,目前 Android 上没有可用的 XSLT 处理器。我们正在研究将 Saxon 移植到这个平台的可能性,但现在还没有。

于 2012-07-26T11:39:23.653 回答