powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XPath & Google Android
8 сообщений из 8, страница 1 из 1
XPath & Google Android
    #35208047
umniaxa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, подскажите, мне нужно пропарсить хмл-ну на платформе Google Android. Для этой цели очень подошел бы XPath. Но те библиотеки, которые я знаю в java, Андроид импортировать не дает. Вопрос: какие есть способы подключить и заюзать XPath на сей чудесной платформе?
...
Рейтинг: 0 / 0
XPath & Google Android
    #35208067
umniaxa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уточню вопрос: возможно ли использовать XPath, не импортируя jdom или XPathAPI
...
Рейтинг: 0 / 0
XPath & Google Android
    #35208121
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно много что сделать.
Приведи пример что есть и что надо.
...
Рейтинг: 0 / 0
XPath & Google Android
    #35208173
umniaxa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такой xml

<?xml version="1.0"?>

<map name="Бобруйский Метроролитен" number="3">
<Station id="1" name="ДубочОк" line="ДэрЭвяшечка" color="brown" x="20" y="20" next="0" privious="0" hub="0"></Station>
<number>3</number></map>

Надо допустим получить атрибут map name.

Раньше я делал приблизительно следующее:

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
File f = new File("data.xml");
Document document = factory.newDocumentBuilder().parse(f);

String path = "/xml/total";
NodeList nlist = XPathAPI.selectNodeList(document, path);
int total = Integer.parseInt(nlist.item(0).getTextContent());


В данном случае на данной платформе оно мне этого сделать не позволяет. Не дает импортнуть
import com.sun.org.apache.xpath.internal.XPathAPI;

Такая же фигня с библиотекой jdom.
...
Рейтинг: 0 / 0
XPath & Google Android
    #35208804
TiG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я знаю для разработки под Андроид они предлагают свой sdk, и пользоваться надо именно им. Кое-какие инструменты для работы с хмл-ем они сделали, но насколько я вижу по докам это только sax . Хотя наверно и в этом есть смысл - таки платформа мобильная, т.е. с сильно ограниченными ресурсами, так что библиотеки для охочего до памяти DOM-а даже включать не стали, чтобы соблазна не было :)
...
Рейтинг: 0 / 0
XPath & Google Android
    #35210684
umniaxa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попытался написать простой Dom parser. В Андроиде он есть... импорты сделать позволяет
Есть следующий код

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
import android.app.Activity;
import android.os.Bundle;

import android.widget.TextView;

import java.io.File;

import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import java.io.*;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;


public class xml extends Activity {

	
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        
        
        String result = null;
        TextView tv = new TextView(this); 
        Document document = null;
        
        try {		
        	result = result + "--1--";
        	
			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
			File f = new File("c:\\data.xml");
			result = result + "--2--"; 
			document = factory.newDocumentBuilder().parse(f);
			
			result = result + "--3--"; 
			
			//result = document.getLastChild().getNodeName();//getElementsByTagName("map").toString();//.getNodeName();//getAttributeNode("name").getValue();
			result = result + "--4--";
			
        } catch (Exception e) {
			// tv.setText("Error: " + e.getMessage());
			 result = result + "ERROOOORRRRRRRRRRRRRRRRRRR";
        }
		
		
		
		tv.setText(result+"    121212");
		this.setContentView(tv); 
                
    }
}

Строка document = factory.newDocumentBuilder().parse(f); кидает Exseption. На джаве подобным образом я делал, все работало отлично, в доках Андроида написано, что все, что я делаю законно и имеет право быть. Если не сложно, можете указать где я дурак :) ?
...
Рейтинг: 0 / 0
XPath & Google Android
    #35210688
umniaxa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попытался написать простой Dom parser. В Андроиде он есть... импорты сделать позволяет
Есть следующий код

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
import android.app.Activity;
import android.os.Bundle;

import android.widget.TextView;

import java.io.File;

import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import java.io.*;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;


public class xml extends Activity {

	
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        
        
        String result = null;
        TextView tv = new TextView(this); 
        Document document = null;
        
        try {		
        	result = result + "--1--";
        	
			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
			File f = new File("c:\\data.xml");
			result = result + "--2--"; 
			document = factory.newDocumentBuilder().parse(f);
			
			result = result + "--3--"; 
			
			//result = document.getLastChild().getNodeName();//getElementsByTagName("map").toString();//.getNodeName();//getAttributeNode("name").getValue();
			result = result + "--4--";
			
        } catch (Exception e) {
			// tv.setText("Error: " + e.getMessage());
			 result = result + "ERROOOORRRRRRRRRRRRRRRRRRR";
        }
		
		
		
		tv.setText(result+"    121212");
		this.setContentView(tv); 
                
    }
}

Строка document = factory.newDocumentBuilder().parse(f); кидает Exseption. На джаве подобным образом я делал, все работало отлично, в доках Андроида написано, что все, что я делаю законно и имеет право быть. Если не сложно, можете указать где я дурак :) ?
...
Рейтинг: 0 / 0
XPath & Google Android
    #35211679
TiG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
рекомендую в форум Java запостить - мож там кто игрался с андроидом
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XPath & Google Android
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]