0

私はソフトウェア開発と Android を勉強していますが、現在、HTML からデータを取得してアプリケーションに表示する必要があるプロジェクトがあります。

使用している html は多かれ少なかれ次のようになります。

< PR >This paragraph contains a < B >bold < /B > word< /PR >.

「この段落には太字の単語が含まれています」という文字列を抽出する必要があります。

私は試し//p, /html/body/p, //p[@*]てみました。

この段落には、使用するdivorもありません。id//div/p

私はこれに慣れていません.2年目にXPathを行いましたが、ほんの少しだけです.

実際の例は//div[@id:blog-stats-2]/ul/li/、男性のブログ Web サイトから現在のビューを取得する必要があった場所で、うまくいきました。

本当に助けが必要です。私の質問がより明確になる場合は、私のコードをお見せします。

前もって感謝します。

答えを得た

HtmlCleaner cleaner = new HtmlCleaner();

            URL url = new URL(option_url);
            URLConnection conn = url.openConnection();
            TagNode node = cleaner.clean(new InputStreamReader(conn.getInputStream()));
            Object[] info_nodes = node.evaluateXPath("//P");

            if (info_nodes.length > 0) 
            {
                for (int x = 0; x < info_nodes.length; x++) 
                {
                    TagNode info_node = (TagNode) info_nodes[x];
                    String name = info_node.getText().toString();
                    Log.d("P NODES",name);
                }
            }

今、私はそれを配列に保存するつもりです!!!!!!!!

4

2 に答える 2

0

たとえば、軸の xpath を使用してみてください。 //p/descendant-or-self::text()

于 2022-01-09T02:57:38.570 に答える
0

EXPが関心のある段落を選択した場合、その段落string(EXP)の文字列値が返されます。これが目的の段落です。

EXP が何であるか、つまり、この段落をドキュメント内の他のすべての段落とどのように区別したいかについて、実際には何の手がかりも与えていません。

于 2013-08-15T07:58:43.120 に答える