私は、WebからXMLを解析するAndroidアプリケーションを開始しています。私はいくつかのAndroidアプリを作成しましたが、XMLを解析することは一度もありませんでした。誰かが最善の方法を知りたいと思っていましたか?WebサイトからAndroidデバイスへのXMLの解析
答えて
は、ここに例を示します
<numbers>
<phone>
<string name = "phonenumber1">555-555-5555</string>
</phone>
<phone>
<string name = "phonenumber2">555-555-5555</string>
</phone>
</numbers>
を、私は "文字列" と "電話" と/*item within the tag*/
で/*tag from xml file*/
に代わる:私の例では
try {
URL url = new URL(/*your xml url*/);
URLConnection conn = url.openConnection();
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(conn.getInputStream());
NodeList nodes = doc.getElementsByTagName(/*tag from xml file*/);
for (int i = 0; i < nodes.getLength(); i++) {
Element element = (Element) nodes.item(i);
NodeList title = element.getElementsByTagName(/*item within the tag*/);
Element line = (Element) title.item(0);
phoneNumberList.add(line.getTextContent());
}
}
catch (Exception e) {
e.printStackTrace();
}
、私のXMLファイルには、少しのように見えます。
私は常にw3c domクラスを使用します。私は文字列としてxmlデータを解析するために使用する静的ヘルパーメソッドを持って、私にドキュメントオブジェクトを返します。どこでxmlデータを取得することができますか(ウェブ、ファイルなど)、最終的には文字列としてロードします。
Document document = null;
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
try
{
builder = factory.newDocumentBuilder();
InputSource is = new InputSource(new StringReader(data));
document = builder.parse(is);
}
catch (SAXException e) { }
catch (IOException e) { }
catch (ParserConfigurationException e) { }
このような
何か...利用可能なメカニズムを解析するさまざまな種類があり、1は第二、SAX Here is SAX parsing exampleあるDOMはHere is DOM Parsing example.を解析しています。あなたの質問から、あなたが望むものは明確ではありませんが、これらは良い出発点かもしれません。
大変ありがとうございます。DOMとSAXの構文解析に当たって時間を掛けてください。(lol – carsey88
私はDOMパーサーを使用しますが、XMLファイルが大きすぎない場合はSAXほど効率的ではありません。その場合は簡単です。
私は、XML解析を含むAndroid Appを1つだけ作成しました。 SOAP Webサービスから受信したXML。私はXmlPullParserを使用しました。 Xml.newPullParser()の実装には、約束されたドキュメントのようにnextText()への呼び出しが常にEND_TAGに進まなかったバグがありました。このための回避策があります。
DOM、SAX、XMLPullParsingの3種類の構文解析があります。
私の例では、XML要素のURLと親ノードが必要です。
try {
URL url = new URL("http://www.something.com/something.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new InputSource(url.openStream()));
doc.getDocumentElement().normalize();
NodeList nodeList1 = doc.getElementsByTagName("parent node here");
for (int i = 0; i < nodeList1.getLength(); i++) {
Node node = nodeList1.item(i);
}
} catch(Exception e) {
}
また、thisを試してください。
- 1. WebサイトからのPython XML解析
- 2. WebサーバーからAndroidへJSON解析データ
- 3. XMLからカスタムアダプタリストへのデータの解析
- 4. xml Webサービスからの解析画像
- 5. XMLからLINQへの構文解析
- 6. Android XMLのインターネットからの解析
- 7. linqからxmlへのIIS構成xml docの解析
- 8. xml DOMリストからxmlファイルへの解析
- 9. PHPのHTML Webサイトからのテキストの解析
- 10. WebサイトからJSONオブジェクトをandroidのarraylistに解析する方法
- 11. Android XML解析AsyncTask
- 12. Android XML解析リンクエラー
- 13. WebページからXMLへのデータを解析する最も簡単な方法
- 14. WebサイトのHTMLコードの解析:htmlunit.javascript.StrictErrorReporter runtimeError
- 15. CICS Webサービス - XML解析エラー
- 16. サードパーティWebサービスからのXml応答の解析
- 17. HttpRequestからjson/XMLへの文字列の解析
- 18. FHIR JSONからfhir-net-api stu2へのXML解析の問題
- 19. XSDからXMLへのJavaの解析エラー
- 20. WebワーカーでのXMLの解析
- 21. PythonのテーブルへのXMLの解析
- 22. Android App XML解析エラー
- 23. Android XML解析例外
- 24. AndroidからのXML RPC結果の解析
- 25. JavaオブジェクトへのXMLの解析
- 26. payara glassfish web xmlフィルタのURL解析
- 27. Java Web Start - XML解析の問題
- 28. WebサーバーとアンドロイドのXML解析
- 29. vb.netからWebサーバーへの日付の解析(java)
- 30. AndroidでのXMLのコメントの解析
これは私にこのエラーを引き起こしています:http://stackoverflow.com/questions/13270372/ android-os-networkonmainthreadexception-接続しようとしたときに無線で使用する –