0

我正在为 Android 制作一个应用程序,我需要显示此页面的 XML 文件:在应用程序中显示Compra="481.3" Venta="485"但我不能"DOLAR SPOT INTERBANCARIO" and Var_por="-0,53" Var_pes="-2,60" hora="10:35"。请帮我写代码。

XML 图像XML

这是 ExampleHandler 代码

public class ExampleHandler extends DefaultHandler {

private boolean in_Root = false;
private boolean in_Registro = false;

private ParsedExampleDataSet myParsedExampleDataSet = new ParsedExampleDataSet();

public ParsedExampleDataSet getParsedData() {
    return this.myParsedExampleDataSet;
}


@Override
public void startDocument() throws SAXException {
    this.myParsedExampleDataSet = new ParsedExampleDataSet();
}

@Override
public void endDocument() throws SAXException {
}


@Override
public void startElement(String namespaceURI, String localName,
        String qName, Attributes atts) throws SAXException {
    if (localName.equals("Root")) {
        this.in_Root = true;
    }else if (localName.equals("Registro")) {
        this.in_Registro = true;
        // Extract an Attribute
        String attrValue = atts.getValue("Compra");
        Float compra = Float.parseFloat(attrValue);
        myParsedExampleDataSet.setExtractedCompra(compra);

        String attrValue2 = atts.getValue("Venta");
        Float venta = Float.parseFloat(attrValue2);
        myParsedExampleDataSet.setExtractedVenta(venta);

        **String attrValue3 = atts.getValue("Var_por");
        Float por = Float.parseFloat(attrValue3);
        myParsedExampleDataSet.setExtractedPor(por);**
        //its my wrong code for  Var_por    
    }
}

@Override
public void endElement(String namespaceURI, String localName, String qName)
        throws SAXException {
    if (localName.equals("Root")) {
        this.in_Root = false;
    }else if (localName.equals("Registro")) {

    }
}

/** Gets be called on the following structure: 
 * <tag>characters</tag> */
@Override
public void characters(char ch[], int start, int length) {
    if(this.in_Registro){
        //myParsedExampleDataSet.setExtractedStruct(new String(ch, start, length));
    }
}

}

4

2 回答 2

0

您可以查看 SimpleXML 以获得类似的小东西。它在 Android 上运行良好。

SimpleXML 解析器

于 2012-07-27T14:59:32.943 回答
0

我最近使用Jsoup实现了这个问题的解决方案。下面概述的解决方案将从提供的 URL 获取数据并将其解析为字符串数组。

设置

.jar 文件可以在这里找到。

有关如何将其包含在 Android 应用程序中的说明,请参见此处

执行

使用的进口:

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

import java.io.IOException;
import java.util.ArrayList;

功能代码:

public static ArrayList<String> parseDocument() 
{
    ArrayList<String> values = new ArrayList<String>();

    Document doc;
    try {
        doc = Jsoup.connect("http://www.bovalpo.com/cgi-local/xml_bcv.pl?URL=7009").get(); // Timeout is in milliseconds
        Elements nodes = doc.select("Registro");

        values.add( nodes.attr("tipo") );
        values.add( nodes.attr("Compra") );
        values.add( nodes.attr("Venta") );
        values.add( nodes.attr("Var_por") );
        // etc

    } catch (IOException e) {
        e.printStackTrace();
    }
    return values;
}

返回函数后,您需要做的就是从 ArrayList 中读取值。

于 2012-07-27T15:19:10.873 回答