2

基本的な質問のようですが、どこにも見つかりません。基本的に、次のような XML リンクのリストがあります: (すべて 1 つの文字列)

すべての XML を含む「文字列」var が既にあります。HTML文字列を抽出するだけです。

<?xml version="1.0" encoding="UTF-8"?>
<fql_query_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" list="true">
<photo>
    <src_small>http://photos-a.ak.fbcdn.net/hphotos-ak-ash4/486603_10151153207000351_1200565882_t.jpg</src_small>
</photo>
<photo>
  <src_small>http://photos-c.ak.fbcdn.net/hphotos-ak-ash3/578919_10150988289678715_1110488833_t.jpg</src_small>
</photo>

これらをarrayListに変換したいので、URLArray[0]のようなものが文字列としての最初のアドレスになります。

誰かがこれを行う方法を教えてもらえますか?

4

3 に答える 3

5
  DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  DocumentBuilder builder = factory.newDocumentBuilder();
  InputSource is = new InputSource( new StringReader( xmlString) );
  Document doc = builder.parse( is );

  XPathFactory factory = XPathFactory.newInstance();
  XPath xpath = factory.newXPath();
  xpath.setNamespaceContext(new PersonalNamespaceContext());
  XPathExpression expr = xpath.compile("//src_small/text()");

  Object result = expr.evaluate(doc, XPathConstants.NODESET);
  NodeList nodes = (NodeList) result;
  List<String> urls = new ArrayList<String>();
  for (int i = 0; i < nodes.getLength(); i++) {
      urls.add (nodes.item(i).getNodeValue());
      System.out.println(nodes.item(i).getNodeValue()); 
  }
于 2012-08-06T17:42:06.187 に答える
3

そうです、あなたを助けることができる他のリソースがそこにあるはずです. 検索で適切なキーワードが使用されていない可能性があります。

基本的に 2 つの選択肢があります。

  1. XML 処理ライブラリを使用します。SAX、DOM、XPATH、および xmlreader は、検索に使用できるキーワードです。

  2. 文字列が xml であるという事実を無視して、通常の文字列操作を実行してください。分割、反復処理、正規表現など...

于 2012-08-06T17:32:37.637 に答える
-2

はい、そのためにはXML解析を実行する必要があります。

次に、それをArrayListに格納します。

元:

ArrayList<String> aList = new ArrayList<String>();

aList.add("your string");
于 2012-08-06T17:34:13.717 に答える